Index: sansmodels/src/sans/models/c_extensions/prolate.c
===================================================================
--- sansmodels/src/sans/models/c_extensions/prolate.c	(revision 27a0771a6ddbafb74959fa451e80b17dcd5ca5ed)
+++ sansmodels/src/sans/models/c_extensions/prolate.c	(revision 8dc0b74600a8db8ce463144695eb91a5449d193c)
@@ -18,6 +18,6 @@
  */
 double prolate_analytical_1D(ProlateParameters *pars, double q) {
-	double dp[10];
-	
+	double dp[8];
+
 	// Fill paramater array
 	dp[0] = pars->scale;
@@ -29,9 +29,7 @@
 	dp[6] = pars->sld_solvent;
 	dp[7] = pars->background;
-	dp[8] = pars->axis_theta;
-	dp[9] = pars->axis_phi;
-	
+
 	// Call library function to evaluate model
-	return ProlateForm(dp, q);	
+	return ProlateForm(dp, q);
 }
 
@@ -45,6 +43,6 @@
 	double q;
 	q = sqrt(qx*qx+qy*qy);
-    return prolate_analytical_2D_scaled(pars, q, qx/q, qy/q);
-} 
+    return prolate_analytical_1D(pars, q);
+}
 
 
@@ -57,7 +55,7 @@
  */
 double prolate_analytical_2D(ProlateParameters *pars, double q, double phi) {
-    return prolate_analytical_2D_scaled(pars, q, cos(phi), sin(phi));
-} 
-        
+    return prolate_analytical_1D(pars, q);
+}
+
 /**
  * Function to evaluate 2D scattering function
@@ -68,7 +66,7 @@
  * @return: function value
  */
-double prolate_analytical_2D_scaled(ProlateParameters *pars, double q, double q_x, double q_y) {
-	
-	return 1.0;
-}
-    
+//double prolate_analytical_2D_scaled(ProlateParameters *pars, double q, double q_x, double q_y) {
+//
+//	return 1.0;
+//}
+
Index: sansmodels/src/sans/models/c_extensions/prolate.h
===================================================================
--- sansmodels/src/sans/models/c_extensions/prolate.h	(revision 27a0771a6ddbafb74959fa451e80b17dcd5ca5ed)
+++ sansmodels/src/sans/models/c_extensions/prolate.h	(revision 8dc0b74600a8db8ce463144695eb91a5449d193c)
@@ -3,12 +3,25 @@
 /** Structure definition for prolate parameters
  * [PYTHONCLASS] = ProlateModel
- * [DISP_PARAMS] = major_core, minor_core, major_shell,minor_shell, axis_theta, axis_phi
-   [DESCRIPTION] = <text> Calculates the form factor for a monodisperse prolate ellipsoid particle with a
-						core/shell structure
-						Note:It is the users' responsibility to ensure that shell radii are larger than core radii, and
-					that major radii are larger than minor radii.</text>
-
-   [FIXED] = <text>axis_phi.width; axis_theta.width; major_core.width;minor_core.width; major_shell; minor_shell</text>
-   [ORIENTATION_PARAMS] = <text>axis_phi; axis_theta; axis_phi.width; axis_theta.width</text>
+ * [DISP_PARAMS] = major_core, minor_core, major_shell,minor_shell
+   [DESCRIPTION] = <text>[ProlateCoreShellModel] Calculates the form factor for a prolate
+			ellipsoid particle with a core_shell structure.
+			The form factor is averaged over all possible
+			orientations of the ellipsoid such that P(q)
+			= scale*<f^2>/Vol + bkg, where f is the
+			single particle scattering amplitude.
+			[Parameters]:
+			major_core = radius of major_core,
+			minor_core = radius of minor_core,
+			major_shell = radius of major_shell,
+			minor_shell = radius of minor_shell,
+			contrast = SLD_core - SLD_shell
+			sld_solvent = SLD_solvent
+			background = Incoherent bkg
+			scale = scale
+			Note:It is the users' responsibility to ensure
+			that shell radii are larger than core radii.
+			</text>
+   [FIXED] = <text>major_core.width;minor_core.width; major_shell.width; minor_shell.width</text>
+   [ORIENTATION_PARAMS] =
 
  **/
@@ -38,10 +51,4 @@
 	//  [DEFAULT]=background=0.001 [1/cm]
 	double background;
-    /// Orientation of the prolate axis w/respect incoming beam [rad]
-    //  [DEFAULT]=axis_theta=1.0 [rad]
-    double axis_theta;
-    /// Orientation of the prolate in the plane of the detector [rad]
-    //  [DEFAULT]=axis_phi=1.0 [rad]
-    double axis_phi;
 
 } ProlateParameters;
@@ -55,5 +62,5 @@
 double prolate_analytical_2D(ProlateParameters *pars, double q, double phi);
 double prolate_analytical_2DXY(ProlateParameters *pars, double qx, double qy);
-double prolate_analytical_2D_scaled(ProlateParameters *pars, double q, double q_x, double q_y);
+//double prolate_analytical_2D_scaled(ProlateParameters *pars, double q, double q_x, double q_y);
 
 #endif
Index: sansmodels/src/sans/models/c_models/COblateModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/COblateModel.cpp	(revision 27a0771a6ddbafb74959fa451e80b17dcd5ca5ed)
+++ sansmodels/src/sans/models/c_models/COblateModel.cpp	(revision 8dc0b74600a8db8ce463144695eb91a5449d193c)
@@ -108,10 +108,4 @@
         self->model->minor_shell.dispersion->accept_as_source(visitor, self->model->minor_shell.dispersion, disp_dict);
         PyDict_SetItemString(self->dispersion, "minor_shell", disp_dict);
-        disp_dict = PyDict_New();
-        self->model->axis_theta.dispersion->accept_as_source(visitor, self->model->axis_theta.dispersion, disp_dict);
-        PyDict_SetItemString(self->dispersion, "axis_theta", disp_dict);
-        disp_dict = PyDict_New();
-        self->model->axis_phi.dispersion->accept_as_source(visitor, self->model->axis_phi.dispersion, disp_dict);
-        PyDict_SetItemString(self->dispersion, "axis_phi", disp_dict);
 
 
@@ -187,8 +181,4 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "minor_shell");
     self->model->minor_shell.dispersion->accept_as_destination(visitor, self->model->minor_shell.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta");
-    self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi");
-    self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict);
 
 	
@@ -263,8 +253,4 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "minor_shell");
     self->model->minor_shell.dispersion->accept_as_destination(visitor, self->model->minor_shell.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta");
-    self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi");
-    self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict);
 
 	
@@ -330,8 +316,4 @@
     } else    if (!strcmp(par_name, "minor_shell")) {
         self->model->minor_shell.dispersion = dispersion;
-    } else    if (!strcmp(par_name, "axis_theta")) {
-        self->model->axis_theta.dispersion = dispersion;
-    } else    if (!strcmp(par_name, "axis_phi")) {
-        self->model->axis_phi.dispersion = dispersion;
     } else {
 	    PyErr_SetString(COblateModelError,
Index: sansmodels/src/sans/models/c_models/CProlateModel.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/CProlateModel.cpp	(revision 72a90bd2a75cb76d466d017316b1f8d84b1b5284)
+++ sansmodels/src/sans/models/c_models/CProlateModel.cpp	(revision 8dc0b74600a8db8ce463144695eb91a5449d193c)
@@ -86,7 +86,5 @@
         PyDict_SetItemString(self->params,"scale",Py_BuildValue("d",1.000000));
         PyDict_SetItemString(self->params,"minor_core",Py_BuildValue("d",50.000000));
-        PyDict_SetItemString(self->params,"axis_theta",Py_BuildValue("d",1.000000));
         PyDict_SetItemString(self->params,"sld_solvent",Py_BuildValue("d",0.000006));
-        PyDict_SetItemString(self->params,"axis_phi",Py_BuildValue("d",1.000000));
         PyDict_SetItemString(self->params,"background",Py_BuildValue("d",0.001000));
         PyDict_SetItemString(self->params,"major_shell",Py_BuildValue("d",110.000000));
@@ -108,10 +106,4 @@
         self->model->minor_shell.dispersion->accept_as_source(visitor, self->model->minor_shell.dispersion, disp_dict);
         PyDict_SetItemString(self->dispersion, "minor_shell", disp_dict);
-        disp_dict = PyDict_New();
-        self->model->axis_theta.dispersion->accept_as_source(visitor, self->model->axis_theta.dispersion, disp_dict);
-        PyDict_SetItemString(self->dispersion, "axis_theta", disp_dict);
-        disp_dict = PyDict_New();
-        self->model->axis_phi.dispersion->accept_as_source(visitor, self->model->axis_phi.dispersion, disp_dict);
-        PyDict_SetItemString(self->dispersion, "axis_phi", disp_dict);
 
 
@@ -169,7 +161,5 @@
     self->model->scale = PyFloat_AsDouble( PyDict_GetItemString(self->params, "scale") );
     self->model->minor_core = PyFloat_AsDouble( PyDict_GetItemString(self->params, "minor_core") );
-    self->model->axis_theta = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_theta") );
     self->model->sld_solvent = PyFloat_AsDouble( PyDict_GetItemString(self->params, "sld_solvent") );
-    self->model->axis_phi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_phi") );
     self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") );
     self->model->major_shell = PyFloat_AsDouble( PyDict_GetItemString(self->params, "major_shell") );
@@ -187,8 +177,4 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "minor_shell");
     self->model->minor_shell.dispersion->accept_as_destination(visitor, self->model->minor_shell.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta");
-    self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi");
-    self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict);
 
 	
@@ -245,7 +231,5 @@
     self->model->scale = PyFloat_AsDouble( PyDict_GetItemString(self->params, "scale") );
     self->model->minor_core = PyFloat_AsDouble( PyDict_GetItemString(self->params, "minor_core") );
-    self->model->axis_theta = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_theta") );
     self->model->sld_solvent = PyFloat_AsDouble( PyDict_GetItemString(self->params, "sld_solvent") );
-    self->model->axis_phi = PyFloat_AsDouble( PyDict_GetItemString(self->params, "axis_phi") );
     self->model->background = PyFloat_AsDouble( PyDict_GetItemString(self->params, "background") );
     self->model->major_shell = PyFloat_AsDouble( PyDict_GetItemString(self->params, "major_shell") );
@@ -263,8 +247,4 @@
     disp_dict = PyDict_GetItemString(self->dispersion, "minor_shell");
     self->model->minor_shell.dispersion->accept_as_destination(visitor, self->model->minor_shell.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "axis_theta");
-    self->model->axis_theta.dispersion->accept_as_destination(visitor, self->model->axis_theta.dispersion, disp_dict);
-    disp_dict = PyDict_GetItemString(self->dispersion, "axis_phi");
-    self->model->axis_phi.dispersion->accept_as_destination(visitor, self->model->axis_phi.dispersion, disp_dict);
 
 	
@@ -330,8 +310,4 @@
     } else    if (!strcmp(par_name, "minor_shell")) {
         self->model->minor_shell.dispersion = dispersion;
-    } else    if (!strcmp(par_name, "axis_theta")) {
-        self->model->axis_theta.dispersion = dispersion;
-    } else    if (!strcmp(par_name, "axis_phi")) {
-        self->model->axis_phi.dispersion = dispersion;
     } else {
 	    PyErr_SetString(CProlateModelError,
Index: sansmodels/src/sans/models/c_models/prolate.cpp
===================================================================
--- sansmodels/src/sans/models/c_models/prolate.cpp	(revision 27a0771a6ddbafb74959fa451e80b17dcd5ca5ed)
+++ sansmodels/src/sans/models/c_models/prolate.cpp	(revision 8dc0b74600a8db8ce463144695eb91a5449d193c)
@@ -45,6 +45,4 @@
 	sld_solvent = Parameter(6.3e-6);
 	background = Parameter(0.0);
-	axis_theta  = Parameter(0.0, true);
-	axis_phi    = Parameter(0.0, true);
 }
 
@@ -67,6 +65,6 @@
 	dp[5] = contrast();
 	dp[6] = sld_solvent();
-	dp[7] = background();
-	
+	dp[7] = 0.0;
+
 	// Get the dispersion points for the major core
 	vector<WeightPoint> weights_major_core;
@@ -106,7 +104,7 @@
 					dp[4] = weights_minor_shell[l].value;
 
-					sum += weights_major_core[i].weight* weights_minor_core[j].weight * weights_major_shell[k].weight 
+					sum += weights_major_core[i].weight* weights_minor_core[j].weight * weights_major_shell[k].weight
 						* weights_minor_shell[l].weight * ProlateForm(dp, q);
-					norm += weights_major_core[i].weight* weights_minor_core[j].weight * weights_major_shell[k].weight 
+					norm += weights_major_core[i].weight* weights_minor_core[j].weight * weights_major_shell[k].weight
 							* weights_minor_shell[l].weight;
 				}
@@ -123,4 +121,21 @@
  * @return: function value
  */
+double ProlateModel :: operator()(double qx, double qy) {
+	double q = sqrt(qx*qx + qy*qy);
+
+	return (*this).operator()(q);
+}
+
+/**
+ * Function to evaluate 2D scattering function
+ * @param pars: parameters of the prolate
+ * @param q: q-value
+ * @param phi: angle phi
+ * @return: function value
+ */
+double ProlateModel :: evaluate_rphi(double q, double phi) {
+	return (*this).operator()(q);
+}
+/*
 double ProlateModel :: operator()(double qx, double qy) {
 	ProlateParameters dp;
@@ -216,14 +231,3 @@
 }
 
-/**
- * Function to evaluate 2D scattering function
- * @param pars: parameters of the prolate
- * @param q: q-value
- * @param phi: angle phi
- * @return: function value
- */
-double ProlateModel :: evaluate_rphi(double q, double phi) {
-	double qx = q*cos(phi);
-	double qy = q*sin(phi);
-	return (*this).operator()(qx, qy);
-}
+*/
