Index: park_integration/ParkFitting.py
===================================================================
--- park_integration/ParkFitting.py	(revision fadea710bbe5ff8106db512abe9ca0807c20409d)
+++ park_integration/ParkFitting.py	(revision 916a15fb93a37f2251ab2ff575ff40bed52c7409)
@@ -41,5 +41,5 @@
         the user should make sure to call set_param himself.
     """
-    def __init__(self,data=[]):
+    def __init__(self):
         """
             Creates a dictionary (self.fitArrangeList={})of FitArrange elements
@@ -61,7 +61,9 @@
             parkmodel = value.get_model()
             for p in parkmodel.parameterset:
-                if p.isfixed() and p._getname()in self.paramList:
-                    p.set([-numpy.inf,numpy.inf])
-            i+=1    
+                if p._getname()in self.paramList and not p.iscomputed():
+                    p.status = 'fitted' # make it a fitted parameter
+                            #iscomputed  paramter with string inside
+               
+            i+=1
             Ldata=value.get_data()
             parkdata=self._concatenateData(Ldata)
@@ -89,12 +91,19 @@
             @return result.cov: Covariance matrix
         """
-        
         self.createAssembly()
-        pars=self.problem.fit_parameters()
-        self.problem.eval()
+    
         localfit = FitSimplex()
         localfit.ftol = 1e-8
+        # fitmc(fitness,localfit,n,handler):
+        #Run a monte carlo fit.
+        #This procedure maps a local optimizer across a set of n initial points.
+        #The initial parameter value defined by the fitness parameters defines
+        #one initial point.  The remainder are randomly generated within the
+        #bounds of the problem.
+        #localfit is the local optimizer to use.  It should be a bounded
+        #optimizer following the `park.fitmc.LocalFit` interface.
+        #handler accepts updates to the current best set of fit parameters.
+        # See `park.fitresult.FitHandler` for details.
         fitter = FitMC(localfit=localfit)
-        list=self.problem[0]._parameterset()
         #result = fit.fit(self.problem,
         #             fitter=fitter,
@@ -103,6 +112,4 @@
                          fitter=fitter,
                          handler= fitresult.ConsoleUpdate(improvement_delta=0.1))
-
-       
         if result !=None:
             return result
Index: park_integration/test/test_fit_cylinder.py
===================================================================
--- park_integration/test/test_fit_cylinder.py	(revision ca6d9147f03c7552f57ffed23847f9b690a7af14)
+++ park_integration/test/test_fit_cylinder.py	(revision 916a15fb93a37f2251ab2ff575ff40bed52c7409)
@@ -31,5 +31,5 @@
         fitter.set_data(data,1)
         model.model.setParam('scale',10)
-        fitter.set_model(model,"M1",1,pars1)
+        fitter.set_model(model,1,pars1)
         result1 = fitter.fit()
         print "test scipy result:",result1.stderr,result1.pvec,result1.fitness
Index: park_integration/test/test_fit_line.py
===================================================================
--- park_integration/test/test_fit_line.py	(revision ca6d9147f03c7552f57ffed23847f9b690a7af14)
+++ park_integration/test/test_fit_line.py	(revision 916a15fb93a37f2251ab2ff575ff40bed52c7409)
@@ -136,4 +136,6 @@
         model11  = LineModel()
         model11.name= "line"
+        model11.setParam('A',4)
+        model11.setParam('B',3)
         model22  = Constant()
         model22.name= "cst"
@@ -179,5 +181,5 @@
         model1  = LineModel()
         model1.name= "M1"
-        
+      
         data1 = Data(sans_data=data11 )
         data2 = Data(sans_data=data22 )
@@ -192,5 +194,5 @@
         result1 = fitter.fit()
         self.assert_(result1)
-        
+
         self.assertTrue( ( math.fabs(result1.pvec[0]-4)/3 == result1.stderr[0] ) or 
                          ( math.fabs(result1.pvec[0]-4)/3 < result1.stderr[0]) ) 
Index: park_integration/test/testpark.py
===================================================================
--- park_integration/test/testpark.py	(revision d831626c10346da20b9b7a000586aa31c32ca89e)
+++ 	(revision )
@@ -1,185 +1,0 @@
-"""
-    Unit tests for fitting module  using park integration
-    fitting 2 data with 2 model and one constraint on only one parameter is not working
-"""
-import unittest
-from sans.guitools.plottables import Theory1D
-from sans.guitools.plottables import Data1D
-from sans.fit.AbstractFitEngine import Model,Data
-import math
-class testFitModule(unittest.TestCase):
-    
-    def test2models2data2constraints(self):
-        """ test fitting for two data , 2 model , 2 constraints"""
-        from sans.fit.Loader import Load
-        load= Load()
-        #Load the first data
-        load.set_filename("testdata1.txt")
-        load.set_values()
-        data1 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data1)
-        
-        #Load the second data
-        load.set_filename("testdata2.txt")
-        load.set_values()
-        data2 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data2)
-        
-        #Load the third data
-        load.set_filename("testdata_line.txt")
-        load.set_values()
-        data3 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data3)
-        
-        #Importing the Fit module
-        from sans.fit.Fitting import Fit
-        fitter= Fit('park')
-        # Receives the type of model for the fitting
-        from sans.guitools.LineModel import LineModel
-        model1  = LineModel()
-        model2  = LineModel()
-        
-        #Do the fit
-        model1.setParam( 'A', 2.5)
-        model1.setParam( 'B', 4)
-        model1.name="M1"
-        fitter.set_model(Model(model1),"M1",1, ['A','B'])
-        fitter.set_data(Data(sans_data=data1),1)
-        model2.name="M2"
-        model2.setParam( 'A', "M1.A+1")
-        model2.setParam( 'B', 'M1.B*2')
-        
-        fitter.set_model(Model(model2),"M2",2, ['A','B'])
-        fitter.set_data(Data(sans_data=data2),2)
-        
-        result = fitter.fit()
-        chisqr1 = result.fitness
-        out1 = result.pvec
-        cov1 = result.cov
-        self.assert_(math.fabs(out1[1]-2.5)/math.sqrt(cov1[1][1]) < 2)
-        print math.fabs(out1[0]-4.0)/math.sqrt(cov1[0][0])
-        #self.assert_(math.fabs(out1[0]-4.0)/math.sqrt(cov1[0][0]) < 2)
-        self.assert_(math.fabs(out1[3]-2.5)/math.sqrt(cov1[3][3]) < 2)
-        self.assert_(math.fabs(out1[2]-4.0)/math.sqrt(cov1[2][2]) < 2)
-        print chisqr1/len(data1.x)
-        #self.assert_(chisqr1/len(data1.x) < 2)
-        print chisqr1/len(data2.x)
-        #self.assert_(chisqr2/len(data2.x) < 2)
-    
-    def test2models2data1constraint(self):
-        """ test fitting for two data , 2 model ,1 constraint"""
-        from sans.fit.Loader import Load
-        load= Load()
-        #Load the first data
-        load.set_filename("testdata1.txt")
-        load.set_values()
-        data1 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data1)
-        
-        #Load the second data
-        load.set_filename("testdata2.txt")
-        load.set_values()
-        data2 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data2)
-        
-        #Load the third data
-        load.set_filename("testdata_line.txt")
-        load.set_values()
-        data3 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data3)
-        
-        #Importing the Fit module
-        from sans.fit.Fitting import Fit
-        fitter= Fit('park')
-        # Receives the type of model for the fitting
-        from sans.guitools.LineModel import LineModel
-        model1  = LineModel()
-        model2  = LineModel()
-        
-        #Do the fit
-        model1.setParam( 'A', 2.5)
-        model1.setParam( 'B', 4)
-        model1.name="M1"
-        fitter.set_model(Model(model1),"M1",1, ['A','B'])
-        fitter.set_data(Data(sans_data=data1),1)
-        model2.name="M2"
-        model2.setParam( 'A', 2)
-        model2.setParam( 'B', 'M1.B*2')
-        
-        fitter.set_model(Model(model2),"M2",2, ['A','B'])
-        fitter.set_data(Data(sans_data=data2),2)
-        
-        result = fitter.fit()
-        chisqr1 = result.fitness
-        out1 = result.pvec
-        cov1 = result.cov
-        self.assert_(math.fabs(out1[1]-2.5)/math.sqrt(cov1[1][1]) < 2)
-        print math.fabs(out1[0]-4.0)/math.sqrt(cov1[0][0])
-        #self.assert_(math.fabs(out1[0]-4.0)/math.sqrt(cov1[0][0]) < 2)
-        self.assert_(math.fabs(out1[3]-2.5)/math.sqrt(cov1[3][3]) < 2)
-        self.assert_(math.fabs(out1[2]-4.0)/math.sqrt(cov1[2][2]) < 2)
-        print chisqr1/len(data1.x)
-        #self.assert_(chisqr1/len(data1.x) < 2)
-        print chisqr1/len(data2.x)
-        #self.assert_(chisqr2/len(data2.x) < 2)
-    
-        
-    def test2models2dataNoconstraint(self):
-        """ test fitting for two data  and 2 models no cosntrainst"""
-        from sans.fit.Loader import Load
-        load= Load()
-        #Load the first data
-        load.set_filename("testdata1.txt")
-        load.set_values()
-        data1 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data1)
-        
-        #Load the second data
-        load.set_filename("testdata2.txt")
-        load.set_values()
-        data2 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data2)
-        
-        #Load the third data
-        load.set_filename("testdata_line.txt")
-        load.set_values()
-        data3 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data3)
-        
-        #Importing the Fit module
-        from sans.fit.Fitting import Fit
-        fitter= Fit('park')
-        # Receives the type of model for the fitting
-        from sans.guitools.LineModel import LineModel
-        model1  = LineModel()
-        model2  = LineModel()
-        
-        #Do the fit
-        model1.setParam( 'A', 2.5)
-        model1.setParam( 'B', 4)
-        model1.name="M1"
-        fitter.set_model(Model(model1),"M1",1, ['A','B'])
-        fitter.set_data(Data(sans_data=data1),1)
-        model2.name="M2"
-        model2.setParam( 'A', 1)
-        model2.setParam( 'B', 2)
-        
-        fitter.set_model(Model(model2),"M2",2, ['A','B'])
-        fitter.set_data(Data(sans_data=data2),2)
-    
-        result = fitter.fit()
-        chisqr1 = result.fitness
-        out1 = result.pvec
-        cov1 = result.cov
-        self.assert_(math.fabs(out1[1]-2.5)/math.sqrt(cov1[1][1]) < 2)
-        print math.fabs(out1[0]-4.0)/math.sqrt(cov1[0][0])
-        #self.assert_(math.fabs(out1[0]-4.0)/math.sqrt(cov1[0][0]) < 2)
-        self.assert_(math.fabs(out1[3]-2.5)/math.sqrt(cov1[3][3]) < 2)
-        self.assert_(math.fabs(out1[2]-4.0)/math.sqrt(cov1[2][2]) < 2)
-        print chisqr1/len(data1.x)
-        #self.assert_(chisqr1/len(data1.x) < 2)
-        print chisqr1/len(data2.x)
-        #self.assert_(chisqr2/len(data2.x) < 2)
-    
-        
-    
Index: park_integration/test/testpark_line.py
===================================================================
--- park_integration/test/testpark_line.py	(revision 388309d5e5ef39b5f0eb98585a131c6fe6a052c8)
+++ 	(revision )
@@ -1,62 +1,0 @@
-"""
-    Unit tests for fitting module  using park integration
-    fitting 2 data with 2 model and one constraint on only one parameter is not working
-"""
-import unittest
-from sans.guitools.plottables import Theory1D
-from sans.guitools.plottables import Data1D
-from sans.fit.AbstractFitEngine import Model,Data
-import math
-class testFitModule(unittest.TestCase):
-    
-    def test2models2data2constraints(self):
-        """ test fitting for two data , 2 model , 2 constraints"""
-        from sans.fit.Loader import Load
-        load= Load()
-        #Load the first data
-        load.set_filename("testdata1.txt")
-        load.set_values()
-        data1 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data1)
-        
-        #Load the second data
-        load.set_filename("testdata2.txt")
-        load.set_values()
-        data2 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data2)
-        
-        #Load the third data
-        load.set_filename("testdata_line.txt")
-        load.set_values()
-        data3 = Data1D(x=[], y=[],dx=None, dy=None)
-        load.load_data(data3)
-        
-        #Importing the Fit module
-        from sans.fit.Fitting import Fit
-        fitter= Fit('park')
-        # Receives the type of model for the fitting
-        from sans.guitools.LineModel import LineModel
-        model1  = LineModel()
-        
-        #Do the fit
-        model1.setParam( 'A', 2.5)
-        model1.setParam( 'B', 4)
-        model1.name="M1"
-        fitter.set_model(Model(model1),"M1",1, ['A','B'])
-        fitter.set_data(Data(sans_data=data1),1)
-        
-        
-        result = fitter.fit()
-        chisqr1 = result.fitness
-        out1 = result.pvec
-        cov1 = result.cov
-        self.assert_(math.fabs(out1[1]-2.5)/math.sqrt(cov1[1][1]) < 2)
-        print math.fabs(out1[0]-4.0)/math.sqrt(cov1[0][0])
-        #self.assert_(math.fabs(out1[0]-4.0)/math.sqrt(cov1[0][0]) < 2)
-        self.assert_(math.fabs(out1[3]-2.5)/math.sqrt(cov1[3][3]) < 2)
-        self.assert_(math.fabs(out1[2]-4.0)/math.sqrt(cov1[2][2]) < 2)
-        print chisqr1/len(data1.x)
-        #self.assert_(chisqr1/len(data1.x) < 2)
-        print chisqr1/len(data2.x)
-        #self.assert_(chisqr2/len(data2.x) < 2)
-    
