Index: sansmodels/src/sans/models/MultiplicationModel.py
===================================================================
--- sansmodels/src/sans/models/MultiplicationModel.py	(revision 996fd352037c03498202bc677a51d54a2dcbdc1b)
+++ sansmodels/src/sans/models/MultiplicationModel.py	(revision 8cfdd5e0433c8aeba5f0cbd56e0eaaee4bf976ff)
@@ -13,7 +13,5 @@
 
        
-        ## Name of the model
-        self.name=""
-        ## model description
+        ## Setting  model name model description
         self.description=""
         if  model1.name != "NoStructure"and  model2.name != "NoStructure":
@@ -34,14 +32,10 @@
         self.model2= model2
         ## dispersion
-        self.dispersion = {}
         self._set_dispersion()
         ## Define parameters
-        self.params = {}
         self._set_params()
         ## Parameter details [units, min, max]
-        self.details = {}
         self._set_details()
         #list of parameter that can be fitted
-        self.fixed= []  
         self._set_fixed_params()  
         
@@ -83,4 +77,45 @@
                 self.details[name]= detail
                 
+    def setParam(self, name, value):
+        """ 
+            Set the value of a model parameter
+        
+            @param name: name of the parameter
+            @param value: value of the parameter
+        """
+        self._setParamHelper( name, value)
+        if name in self.model1.getParamList():
+            self.model1.setParam( name, value)
+            
+        if name in self.model2.getParamList():
+            self.model2.setParam( name, value) 
+        
+        
+    def _setParamHelper(self, name, value):
+        """
+            Helper function to setparam
+        """
+        # Look for dispersion parameters
+        toks = name.split('.')
+        if len(toks)==2:
+            for item in self.dispersion.keys():
+                if item.lower()==toks[0].lower():
+                    for par in self.dispersion[item]:
+                        if par.lower() == toks[1].lower():
+                            self.dispersion[item][par] = value
+                            return
+        else:
+            # Look for standard parameter
+            for item in self.params.keys():
+                if item.lower()==name.lower():
+                    self.params[item] = value
+                    return
+            
+        raise ValueError, "Model does not contain parameter %s" % name
+    
+        
+   
+             
+   
     def _set_fixed_params(self):
         """
Index: sansmodels/src/sans/models/NoStructure.py
===================================================================
--- sansmodels/src/sans/models/NoStructure.py	(revision 4ef9dffbada111a6eb8e2359c105fe56cbb78bc8)
+++ sansmodels/src/sans/models/NoStructure.py	(revision 8cfdd5e0433c8aeba5f0cbd56e0eaaee4bf976ff)
@@ -21,8 +21,5 @@
         F(x)= 1
         """
-        ## Parameter details [units, min, max]
-        self.details = {}
-        #list of parameter that cannot be fitted
-        self.fixed= []
+       
     def clone(self):
         """ Return a identical copy of self """
Index: sansmodels/src/sans/models/test/utest_modelmultiplication.py
===================================================================
--- sansmodels/src/sans/models/test/utest_modelmultiplication.py	(revision c9636f7de6fe28781d52b93f5c1323e695a97e27)
+++ sansmodels/src/sans/models/test/utest_modelmultiplication.py	(revision 8cfdd5e0433c8aeba5f0cbd56e0eaaee4bf976ff)
@@ -27,4 +27,27 @@
     fixed=[]
     fixed=['radius.width']
+    
+    
+    def test_multiplication(self):
+        """ test multiplication model"""
+        from sans.models.MultiplicationModel import MultiplicationModel
+        from sans.models.SphereModel import SphereModel
+        from sans.models.NoStructure import NoStructure
+        model1  =  MultiplicationModel(SphereModel(),NoStructure())
+        model2 = SphereModel()
+        x= 2
+        a = model1.run(x)
+        
+        b=  model2.run(x)
+        self.assertEqual(a, b)
+        model2.setParam("scale", 10)
+        c=  model2.run(x)
+        self.assertEqual(c, 10*b)
+        model1.setParam("scale", 10)
+        d=  model1.run(x)
+        self.assertEqual(d, 10*a)
+        self.assertEqual(model1.getParam("scale"), 10)
+        
+        
     def testMultiplicationModel(self):
         """ Test Multiplication  sphere with SquareWellStructure"""
