Index: sansmodels/src/sans/models/c_models/CHollowCylinderModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CHollowCylinderModel.cpp	(revision 870f131f9d526f28fcaa1de9825b193ca97877e6)
+++ sansmodels/src/sans/models/c_models/CHollowCylinderModel.cpp	(revision e2afadff3f4263f27adf3503adb9ffba97b1e122)
@@ -91,6 +91,6 @@
         PyDict_SetItemString(self->params,"length",Py_BuildValue("d",400.000000));
         PyDict_SetItemString(self->params,"axis_phi",Py_BuildValue("d",0.000000));
+        PyDict_SetItemString(self->params,"radius",Py_BuildValue("d",30.000000));
         PyDict_SetItemString(self->params,"background",Py_BuildValue("d",0.010000));
-        PyDict_SetItemString(self->params,"shell_radius",Py_BuildValue("d",30.000000));
         PyDict_SetItemString(self->params,"contrast",Py_BuildValue("d",0.000005));
         // Initialize dispersion / averaging parameter dict
@@ -101,6 +101,6 @@
         PyDict_SetItemString(self->dispersion, "core_radius", disp_dict);
         disp_dict = PyDict_New();
-        self->model->shell_radius.dispersion->accept_as_source(visitor, self->model->shell_radius.dispersion, disp_dict);
-        PyDict_SetItemString(self->dispersion, "shell_radius", disp_dict);
+        self->model->radius.dispersion->accept_as_source(visitor, self->model->radius.dispersion, disp_dict);
+        PyDict_SetItemString(self->dispersion, "radius", disp_dict);
         disp_dict = PyDict_New();
         self->model->length.dispersion->accept_as_source(visitor, self->model->length.dispersion, disp_dict);
@@ -248,6 +248,6 @@
     self->model->length = PyFloat_AsDouble( PyDict_GetItemString(self->params, "length") );
     self->model->axis_phi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_phi") );
+    self->model->radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "radius") );
     self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") );
-    self->model->shell_radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "shell_radius") );
     self->model->contrast = PyFloat_AsDouble( PyDict_GetItemString(self->params, "contrast") );
     // Read in dispersion parameters
@@ -256,6 +256,6 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "core_radius");
     self->model->core_radius.dispersion->accept_as_destination(visitor, self->model->core_radius.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "shell_radius");
-    self->model->shell_radius.dispersion->accept_as_destination(visitor, self->model->shell_radius.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "radius");
+    self->model->radius.dispersion->accept_as_destination(visitor, self->model->radius.dispersion, disp_dict);
     disp_dict = PyDict_GetItemString(self->dispersion, "length");
     self->model->length.dispersion->accept_as_destination(visitor, self->model->length.dispersion, disp_dict);
@@ -331,6 +331,6 @@
     self->model->length = PyFloat_AsDouble( PyDict_GetItemString(self->params, "length") );
     self->model->axis_phi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_phi") );
+    self->model->radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "radius") );
     self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") );
-    self->model->shell_radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "shell_radius") );
     self->model->contrast = PyFloat_AsDouble( PyDict_GetItemString(self->params, "contrast") );
     // Read in dispersion parameters
@@ -339,6 +339,6 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "core_radius");
     self->model->core_radius.dispersion->accept_as_destination(visitor, self->model->core_radius.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "shell_radius");
-    self->model->shell_radius.dispersion->accept_as_destination(visitor, self->model->shell_radius.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "radius");
+    self->model->radius.dispersion->accept_as_destination(visitor, self->model->radius.dispersion, disp_dict);
     disp_dict = PyDict_GetItemString(self->dispersion, "length");
     self->model->length.dispersion->accept_as_destination(visitor, self->model->length.dispersion, disp_dict);
@@ -403,6 +403,6 @@
     self->model->length = PyFloat_AsDouble( PyDict_GetItemString(self->params, "length") );
     self->model->axis_phi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_phi") );
+    self->model->radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "radius") );
     self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") );
-    self->model->shell_radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "shell_radius") );
     self->model->contrast = PyFloat_AsDouble( PyDict_GetItemString(self->params, "contrast") );
     // Read in dispersion parameters
@@ -411,6 +411,6 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "core_radius");
     self->model->core_radius.dispersion->accept_as_destination(visitor, self->model->core_radius.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "shell_radius");
-    self->model->shell_radius.dispersion->accept_as_destination(visitor, self->model->shell_radius.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "radius");
+    self->model->radius.dispersion->accept_as_destination(visitor, self->model->radius.dispersion, disp_dict);
     disp_dict = PyDict_GetItemString(self->dispersion, "length");
     self->model->length.dispersion->accept_as_destination(visitor, self->model->length.dispersion, disp_dict);
@@ -476,6 +476,6 @@
     if (!strcmp(par_name, "core_radius")) {
         self->model->core_radius.dispersion = dispersion;
-    } else    if (!strcmp(par_name, "shell_radius")) {
-        self->model->shell_radius.dispersion = dispersion;
+    } else    if (!strcmp(par_name, "radius")) {
+        self->model->radius.dispersion = dispersion;
     } else    if (!strcmp(par_name, "length")) {
         self->model->length.dispersion = dispersion;
Index: sansmodels/src/sans/models/c_models/CVesicleModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CVesicleModel.cpp	(revision 870f131f9d526f28fcaa1de9825b193ca97877e6)
+++ sansmodels/src/sans/models/c_models/CVesicleModel.cpp	(revision e2afadff3f4263f27adf3503adb9ffba97b1e122)
@@ -87,7 +87,7 @@
         // Initialize parameter dictionary
         PyDict_SetItemString(self->params,"core_sld",Py_BuildValue("d",0.000006));
-        PyDict_SetItemString(self->params,"core_radius",Py_BuildValue("d",100.000000));
         PyDict_SetItemString(self->params,"thickness",Py_BuildValue("d",30.000000));
         PyDict_SetItemString(self->params,"scale",Py_BuildValue("d",1.000000));
+        PyDict_SetItemString(self->params,"radius",Py_BuildValue("d",100.000000));
         PyDict_SetItemString(self->params,"background",Py_BuildValue("d",0.000000));
         PyDict_SetItemString(self->params,"shell_sld",Py_BuildValue("d",0.000000));
@@ -96,6 +96,6 @@
         PyObject * disp_dict;
         disp_dict = PyDict_New();
-        self->model->core_radius.dispersion->accept_as_source(visitor, self->model->core_radius.dispersion, disp_dict);
-        PyDict_SetItemString(self->dispersion, "core_radius", disp_dict);
+        self->model->radius.dispersion->accept_as_source(visitor, self->model->radius.dispersion, disp_dict);
+        PyDict_SetItemString(self->dispersion, "radius", disp_dict);
         disp_dict = PyDict_New();
         self->model->thickness.dispersion->accept_as_source(visitor, self->model->thickness.dispersion, disp_dict);
@@ -233,7 +233,7 @@
 	    // Reader parameter dictionary
     self->model->core_sld = PyFloat_AsDouble( PyDict_GetItemString(self->params, "core_sld") );
-    self->model->core_radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "core_radius") );
     self->model->thickness = PyFloat_AsDouble( PyDict_GetItemString(self->params, "thickness") );
     self->model->scale = PyFloat_AsDouble( PyDict_GetItemString(self->params, "scale") );
+    self->model->radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "radius") );
     self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") );
     self->model->shell_sld = PyFloat_AsDouble( PyDict_GetItemString(self->params, "shell_sld") );
@@ -241,6 +241,6 @@
     PyObject* disp_dict;
     DispersionVisitor* visitor = new DispersionVisitor();
-    disp_dict = PyDict_GetItemString(self->dispersion, "core_radius");
-    self->model->core_radius.dispersion->accept_as_destination(visitor, self->model->core_radius.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "radius");
+    self->model->radius.dispersion->accept_as_destination(visitor, self->model->radius.dispersion, disp_dict);
     disp_dict = PyDict_GetItemString(self->dispersion, "thickness");
     self->model->thickness.dispersion->accept_as_destination(visitor, self->model->thickness.dispersion, disp_dict);
@@ -308,7 +308,7 @@
 	    // Reader parameter dictionary
     self->model->core_sld = PyFloat_AsDouble( PyDict_GetItemString(self->params, "core_sld") );
-    self->model->core_radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "core_radius") );
     self->model->thickness = PyFloat_AsDouble( PyDict_GetItemString(self->params, "thickness") );
     self->model->scale = PyFloat_AsDouble( PyDict_GetItemString(self->params, "scale") );
+    self->model->radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "radius") );
     self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") );
     self->model->shell_sld = PyFloat_AsDouble( PyDict_GetItemString(self->params, "shell_sld") );
@@ -316,6 +316,6 @@
     PyObject* disp_dict;
     DispersionVisitor* visitor = new DispersionVisitor();
-    disp_dict = PyDict_GetItemString(self->dispersion, "core_radius");
-    self->model->core_radius.dispersion->accept_as_destination(visitor, self->model->core_radius.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "radius");
+    self->model->radius.dispersion->accept_as_destination(visitor, self->model->radius.dispersion, disp_dict);
     disp_dict = PyDict_GetItemString(self->dispersion, "thickness");
     self->model->thickness.dispersion->accept_as_destination(visitor, self->model->thickness.dispersion, disp_dict);
@@ -372,7 +372,7 @@
 	    // Reader parameter dictionary
     self->model->core_sld = PyFloat_AsDouble( PyDict_GetItemString(self->params, "core_sld") );
-    self->model->core_radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "core_radius") );
     self->model->thickness = PyFloat_AsDouble( PyDict_GetItemString(self->params, "thickness") );
     self->model->scale = PyFloat_AsDouble( PyDict_GetItemString(self->params, "scale") );
+    self->model->radius = PyFloat_AsDouble( PyDict_GetItemString(self->params, "radius") );
     self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") );
     self->model->shell_sld = PyFloat_AsDouble( PyDict_GetItemString(self->params, "shell_sld") );
@@ -380,6 +380,6 @@
     PyObject* disp_dict;
     DispersionVisitor* visitor = new DispersionVisitor();
-    disp_dict = PyDict_GetItemString(self->dispersion, "core_radius");
-    self->model->core_radius.dispersion->accept_as_destination(visitor, self->model->core_radius.dispersion, disp_dict);
+    disp_dict = PyDict_GetItemString(self->dispersion, "radius");
+    self->model->radius.dispersion->accept_as_destination(visitor, self->model->radius.dispersion, disp_dict);
     disp_dict = PyDict_GetItemString(self->dispersion, "thickness");
     self->model->thickness.dispersion->accept_as_destination(visitor, self->model->thickness.dispersion, disp_dict);
@@ -439,6 +439,6 @@
 	// Ugliness necessary to go from python to C
 	    // TODO: refactor this
-    if (!strcmp(par_name, "core_radius")) {
-        self->model->core_radius.dispersion = dispersion;
+    if (!strcmp(par_name, "radius")) {
+        self->model->radius.dispersion = dispersion;
     } else    if (!strcmp(par_name, "thickness")) {
         self->model->thickness.dispersion = dispersion;
Index: sansmodels/src/sans/models/c_models/hollowcylinder.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/hollowcylinder.cpp	(revision 9188cc14902588c2800a2821590f8bac1dd436e7)
+++ sansmodels/src/sans/models/c_models/hollowcylinder.cpp	(revision e2afadff3f4263f27adf3503adb9ffba97b1e122)
@@ -36,6 +36,6 @@
 	core_radius = Parameter(20.0, true);
 	core_radius.set_min(0.0);
-	shell_radius  = Parameter(30.0, true);
-	shell_radius.set_min(0.0);
+	radius  = Parameter(30.0, true);
+	radius.set_min(0.0);
 	length     = Parameter(400.0, true);
 	length.set_min(0.0);
@@ -57,5 +57,5 @@
 	dp[0] = scale();
 	dp[1] = core_radius();
-	dp[2] = shell_radius();
+	dp[2] = radius();
 	dp[3] = length();
 	dp[4] = contrast();
@@ -67,6 +67,6 @@
 
 	// Get the dispersion points for the shell radius
-	vector<WeightPoint> weights_shell_radius;
-	shell_radius.get_weights(weights_shell_radius);
+	vector<WeightPoint> weights_radius;
+	radius.get_weights(weights_radius);
 
 	// Get the dispersion points for the length
@@ -87,14 +87,14 @@
 
 			// Loop over shell radius weight points
-			for(int k=0; k< (int)weights_shell_radius.size(); k++) {
-				dp[2] = weights_shell_radius[k].value;
+			for(int k=0; k< (int)weights_radius.size(); k++) {
+				dp[2] = weights_radius[k].value;
 
 				sum += weights_core_radius[i].weight
 					* weights_length[j].weight
-					* weights_shell_radius[k].weight
+					* weights_radius[k].weight
 					* HollowCylinder(dp, q);
 				norm += weights_core_radius[i].weight
 				* weights_length[j].weight
-				* weights_shell_radius[k].weight;
+				* weights_radius[k].weight;
 			}
 		}
@@ -114,5 +114,5 @@
 	dp.scale      = scale();
 	dp.core_radius     = core_radius();
-	dp.shell_radius  = shell_radius();
+	dp.radius  = radius();
 	dp.length     = length();
 	dp.contrast   = contrast();
@@ -126,6 +126,6 @@
 
 	// Get the dispersion points for the shell radius
-	vector<WeightPoint> weights_shell_radius;
-	shell_radius.get_weights(weights_shell_radius);
+	vector<WeightPoint> weights_radius;
+	radius.get_weights(weights_radius);
 
 	// Get the dispersion points for the length
@@ -155,6 +155,6 @@
 
 			// Loop over shell radius weight points
-			for(int m=0; m< (int)weights_shell_radius.size(); m++) {
-				dp.shell_radius = weights_shell_radius[m].value;
+			for(int m=0; m< (int)weights_radius.size(); m++) {
+				dp.radius = weights_radius[m].value;
 
 			// Average over theta distribution
@@ -168,5 +168,5 @@
 					double _ptvalue = weights_core_radius[i].weight
 						* weights_length[j].weight
-						* weights_shell_radius[m].weight
+						* weights_radius[m].weight
 						* weights_theta[k].weight
 						* weights_phi[l].weight
@@ -179,5 +179,5 @@
 					norm += weights_core_radius[i].weight
 						* weights_length[j].weight
-						* weights_shell_radius[m].weight
+						* weights_radius[m].weight
 						* weights_theta[k].weight
 						* weights_phi[l].weight;
Index: sansmodels/src/sans/models/c_models/models.hh
===================================================================
--- sansmodels/src/sans/models/c_models/models.hh	(revision c1c29b67c42e22e8ebe38ed7aacd5a53ec4f66bb)
+++ sansmodels/src/sans/models/c_models/models.hh	(revision e2afadff3f4263f27adf3503adb9ffba97b1e122)
@@ -494,5 +494,5 @@
 	Parameter scale;
 	Parameter core_radius;
-	Parameter shell_radius;
+	Parameter radius;
 	Parameter length;
 	Parameter contrast;
@@ -535,5 +535,5 @@
 	// Model parameters
 	Parameter scale;
-	Parameter core_radius;
+	Parameter radius;
 	Parameter thickness;
 	Parameter core_sld;
Index: sansmodels/src/sans/models/c_models/vesicle.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/vesicle.cpp	(revision 9188cc14902588c2800a2821590f8bac1dd436e7)
+++ sansmodels/src/sans/models/c_models/vesicle.cpp	(revision e2afadff3f4263f27adf3503adb9ffba97b1e122)
@@ -32,6 +32,6 @@
 VesicleModel :: VesicleModel() {
 	scale      = Parameter(1.0);
-	core_radius     = Parameter(100.0, true);
-	core_radius.set_min(0.0);
+	radius     = Parameter(100.0, true);
+	radius.set_min(0.0);
 	thickness  = Parameter(30.0, true);
 	thickness.set_min(0.0);
@@ -53,5 +53,5 @@
 	// Add the background after averaging
 	dp[0] = scale();
-	dp[1] = core_radius();
+	dp[1] = radius();
 	dp[2] = thickness();
 	dp[3] = core_sld();
@@ -61,6 +61,6 @@
 
 	// Get the dispersion points for the core radius
-	vector<WeightPoint> weights_core_radius;
-	core_radius.get_weights(weights_core_radius);
+	vector<WeightPoint> weights_radius;
+	radius.get_weights(weights_radius);
 	// Get the dispersion points for the thickness
 	vector<WeightPoint> weights_thickness;
@@ -72,11 +72,11 @@
 
 	// Loop over radius weight points
-	for(int i=0; i< (int)weights_core_radius.size(); i++) {
-		dp[1] = weights_core_radius[i].value;
-		for(int j=0; j< (int)weights_core_radius.size(); j++) {
+	for(int i=0; i< (int)weights_radius.size(); i++) {
+		dp[1] = weights_radius[i].value;
+		for(int j=0; j< (int)weights_thickness.size(); j++) {
 			dp[2] = weights_thickness[j].value;
-			sum += weights_core_radius[i].weight
+			sum += weights_radius[i].weight
 				* weights_thickness[j].weight * VesicleForm(dp, q);
-			norm += weights_core_radius[i].weight * weights_thickness[j].weight;
+			norm += weights_radius[i].weight * weights_thickness[j].weight;
 		}
 	}
