Index: doc/conf.py
===================================================================
--- doc/conf.py	(revision 22975f009849b1c0492f0dfb7402f0892dd11eed)
+++ doc/conf.py	(revision 39674a040d2b37f7704abd674b8a98b18ea42b4c)
@@ -56,5 +56,5 @@
 # General information about the project.
 project = 'SAS Models'
-copyright = '2014, sasview team'
+copyright = '2016, sasview team'
 
 # The version info for the project you're documenting, acts as replacement for
Index: sasmodels/kerneldll.py
===================================================================
--- sasmodels/kerneldll.py	(revision 17bbadde9de73711781f748816b06e6956dc8cfa)
+++ sasmodels/kerneldll.py	(revision 6ad0e875ccffda2d8d0cb50c477d8c365bf0ffcd)
@@ -51,4 +51,5 @@
 import ctypes as ct
 from ctypes import c_void_p, c_int, c_longdouble, c_double, c_float
+import _ctypes
 
 import numpy as np
@@ -125,5 +126,5 @@
     if callable(model_info.get('Iq', None)):
         return PyModel(model_info)
-
+    
     dtype = np.dtype(dtype)
     if dtype == generate.F16:
@@ -138,5 +139,5 @@
     else:
         tempfile_prefix = 'sas_' + model_info['name'] + '128_'
-
+ 
     source = generate.convert_type(source, dtype)
     source_files = generate.model_sources(model_info) + [model_info['filename']]
@@ -188,4 +189,5 @@
     Call :meth:`release` when done with the kernel.
     """
+    
     def __init__(self, dllpath, model_info, dtype=generate.F32):
         self.info = model_info
@@ -217,4 +219,6 @@
         self.Iqxy = self.dll[generate.kernel_name(self.info, True)]
         self.Iqxy.argtypes = IQXY_ARGS + pd_args_2d + [fp]*Nfixed2d
+        
+        self.release()
 
     def __getstate__(self):
@@ -230,10 +234,20 @@
         kernel = self.Iqxy if q_input.is_2d else self.Iq
         return DllKernel(kernel, self.info, q_input)
-
+    
     def release(self):
         """
         Release any resources associated with the model.
         """
-        pass # TODO: should release the dll
+        if os.name == 'nt':
+            #dll = ct.cdll.LoadLibrary(self.dllpath)
+            dll = ct.CDLL(self.dllpath)
+            libHandle = dll._handle
+            #libHandle = ct.c_void_p(dll._handle)
+            del dll, self.dll
+            self.dll = None
+            #_ctypes.FreeLibrary(libHandle)
+            ct.windll.kernel32.FreeLibrary(libHandle)
+        else:    
+            pass 
 
 
Index: sasmodels/models/gauss_lorentz_gel.py
===================================================================
--- sasmodels/models/gauss_lorentz_gel.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/gauss_lorentz_gel.py	(revision b8954d7b3402719d5ef671b921a19c9922cf5675)
@@ -2,6 +2,7 @@
 This model calculates the scattering from a gel structure,
 but typically a physical rather than chemical network.
-It is modeled as a sum of a low-q exponential decay plus
-a lorentzian at higher-q values.
+It is modeled as a sum of a low-q exponential decay (which happens to
+give a functional form similar to Guinier scattering, so interpret with 
+care) plus a Lorentzian at higher-q values. See also the gel_fit model.
 
 Definition
@@ -16,7 +17,7 @@
 $\Xi$ is the length scale of the static correlations in the gel,
 which can be attributed to the "frozen-in" crosslinks.
-$\xi is the dynamic correlation length, which can be attributed to the
+\ |xi|\  is the dynamic correlation length, which can be attributed to the
 fluctuating polymer chains between crosslinks.
-$IG(0)$ and $IL(0)$ are the scaling factors for each of these structures.
+$I_G(0)$ and $I_L(0)$ are the scaling factors for each of these structures.
 Think carefully about how these map to your particular system!
 
Index: sasmodels/models/gel_fit.py
===================================================================
--- sasmodels/models/gel_fit.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/gel_fit.py	(revision b8954d7b3402719d5ef671b921a19c9922cf5675)
@@ -8,5 +8,6 @@
 and a longer distance (denoted here as $a2$ ) needed to account for the static
 accumulations of polymer pinned down by junction points or clusters of such
-points. The latter is derived from a simple Guinier function.
+points. The latter is derived from a simple Guinier function. Compare also the 
+gauss_lorentz_gel model.
 
 
@@ -33,6 +34,6 @@
 
 
-Reference
----------
+References
+----------
 
 Mitsuhiro Shibayama, Toyoichi Tanaka, Charles C Han,
@@ -60,6 +61,6 @@
 # pylint: disable=bad-whitespace, line-too-long
 #             ["name", "units", default, [lower, upper], "type","description"],
-parameters = [["guinier_scale",    "cm^{-1}",   1.7, [-inf, inf], "", "Guinier length scale"],
-              ["lorentzian_scale", "cm^{-1}",   3.5, [-inf, inf], "", "Lorentzian length scale"],
+parameters = [["guinier_scale",    "cm^-1",   1.7, [-inf, inf], "", "Guinier length scale"],
+              ["lorentzian_scale", "cm^-1",   3.5, [-inf, inf], "", "Lorentzian length scale"],
               ["gyration_radius",  "Ang",     104.0, [2, inf],    "", "Radius of gyration"],
               ["fractal_exp",      "",          2.0, [0, inf],    "", "Fractal exponent"],
Index: sasmodels/models/guinier.py
===================================================================
--- sasmodels/models/guinier.py	(revision a84a0cac83cecece77ff644df4f2552ef1452b62)
+++ sasmodels/models/guinier.py	(revision 45330ed87f6bdaf8560c04fe1639a77425c766e9)
@@ -5,8 +5,10 @@
 This model fits the Guinier function
 
-.. math:: q_1=\frac{1}{R_g}\sqrt{\frac{(m-s)(3-s)}{2}}
+.. math:: I(q) = scale \exp{\left[ \frac{-Q^2R_g^2}{3} \right]}
 
 to the data directly without any need for linearisation
-(*cf*. $\ln I(q)$ vs $q^2$\ ).
+(*cf*. the usual plot of $\ln I(q)$ vs $q^2$\ ). Note that you may have to 
+restrict the data range to include small q only, where the Guinier approximation
+actually applies. See also the guinier_porod model.
 
 For 2D data the scattering intensity is calculated in the same way as 1D,
@@ -27,5 +29,5 @@
 title = ""
 description = """
- I(q) = scale exp ( - rg^2 q^2 / 3.0 )
+ I(q) = scale.exp ( - rg^2 q^2 / 3.0 )
  
     List of default parameters:
Index: sasmodels/models/guinier_porod.py
===================================================================
--- sasmodels/models/guinier_porod.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
+++ sasmodels/models/guinier_porod.py	(revision 45330ed87f6bdaf8560c04fe1639a77425c766e9)
@@ -39,8 +39,10 @@
 Note that the radius-of-gyration for a sphere of radius R is given by $R_g = R \sqrt(3/5)$.
 
-The cross-sectional radius-of-gyration for a randomly oriented cylinder
-of radius R is given by $R_g = R / \sqrt(2)$.
+For a cylinder of radius $R$ and length $L$,    $R_g^2 = \frac{L^2}{12} + \frac{R^2}{2}$
 
-The cross-sectional radius-of-gyration of a randomly oriented lamella
+from which the cross-sectional radius-of-gyration for a randomly oriented thin 
+cylinder is $R_g = R / \sqrt(2)$.
+
+and the cross-sectional radius-of-gyration of a randomly oriented lamella
 of thickness $T$ is given by $R_g = T / \sqrt(12)$.
 
Index: sasmodels/models/pringle.c
===================================================================
--- sasmodels/models/pringle.c	(revision b70cb3b65351f9b9fb36c82c3c8117a33b289fb2)
+++ sasmodels/models/pringle.c	(revision b70cb3b65351f9b9fb36c82c3c8117a33b289fb2)
@@ -0,0 +1,207 @@
+double form_volume(double radius,
+          double thickness);
+
+double Iq(double q,
+          double radius,
+          double thickness,
+          double alpha,
+          double beta,
+          double sld_pringle,
+          double sld_solvent);
+
+double Iqxy(double qx, double qy,
+          double radius,
+          double thickness,
+          double alpha,
+          double beta,
+          double sld_pringle,
+          double sld_solvent);
+
+static
+double pringleC(double radius,
+                double alpha,
+                double beta,
+                double q,
+                double phi,
+                double n) {
+
+    double va, vb;
+    double bessargs, cosarg, bessargcb;
+    double r, retval, yyy;
+
+
+    va = 0;
+    vb = radius;
+
+    // evaluate at Gauss points
+    // remember to index from 0,size-1
+
+    double summ = 0.0;		// initialize integral
+    int ii = 0;
+    do {
+        // Using 76 Gauss points
+        r = (Gauss76Z[ii] * (vb - va) + vb + va) / 2.0;
+
+        bessargs = q*r*sin(phi);
+        cosarg = q*r*r*alpha*cos(phi);
+        bessargcb = q*r*r*beta*cos(phi);
+
+        yyy = Gauss76Wt[ii]*r*cos(cosarg)
+                *sas_JN(n, bessargcb)
+                *sas_JN(2*n, bessargs);
+        summ += yyy;
+
+        ii += 1;
+    } while (ii < N_POINTS_76);			// end of loop over quadrature points
+    //
+    // calculate value of integral to return
+
+    retval = (vb - va) / 2.0 * summ;
+    retval = retval / pow(r, 2.0);
+
+    return retval;
+}
+
+static
+double pringleS(double radius,
+                double alpha,
+                double beta,
+                double q,
+                double phi,
+                double n) {
+
+    double va, vb, summ;
+    double bessargs, sinarg, bessargcb;
+    double r, retval, yyy;
+    // set up the integration
+    // end points and weights
+
+    va = 0;
+    vb = radius;
+
+    // evaluate at Gauss points
+    // remember to index from 0,size-1
+
+    summ = 0.0;		// initialize integral
+    int ii = 0;
+    do {
+        // Using 76 Gauss points
+        r = (Gauss76Z[ii] * (vb - va) + vb + va) / 2.0;
+
+        bessargs = q*r*sin(phi);
+        sinarg = q*r*r*alpha*cos(phi);
+        bessargcb = q*r*r*beta*cos(phi);
+
+        yyy = Gauss76Wt[ii]*r*sin(sinarg)
+                    *sas_JN(n, bessargcb)
+                    *sas_JN(2*n, bessargs);
+        summ += yyy;
+
+        ii += 1;
+    } while (ii < N_POINTS_76);
+
+    // end of loop over quadrature points
+    //
+    // calculate value of integral to return
+
+    retval = (vb-va)/2.0*summ;
+    retval = retval/pow(r, 2.0);
+
+    return retval;
+}
+
+static
+double _kernel(double thickness,
+               double radius,
+               double alpha,
+               double beta,
+               double q,
+               double phi) {
+
+    const double sincarg = q * thickness * cos(phi) / 2.0;
+    const double sincterm = pow(sin(sincarg) / sincarg, 2.0);
+
+    //calculate sum term from n = -3 to 3
+    double sumterm = 0.0;
+    for (int nn = -3; nn <= 3; nn++) {
+        double powc = pringleC(radius, alpha, beta, q, phi, nn);
+        double pows = pringleS(radius, alpha, beta, q, phi, nn);
+        sumterm += pow(powc, 2.0) + pow(pows, 2.0);
+    }
+    double retval = 4.0 * sin(phi) * sumterm * sincterm;
+
+    return retval;
+
+}
+
+static double pringles_kernel(double q,
+          double radius,
+          double thickness,
+          double alpha,
+          double beta,
+          double sld_pringle,
+          double sld_solvent)
+{
+
+    //upper and lower integration limits
+    const double lolim = 0.0;
+    const double uplim = M_PI / 2.0;
+
+    double summ = 0.0;			//initialize integral
+
+    double delrho = sld_pringle - sld_solvent; //make contrast term
+
+    for (int i = 0; i < N_POINTS_76; i++) {
+        double phi = (Gauss76Z[i] * (uplim - lolim) + uplim + lolim) / 2.0;
+        summ += Gauss76Wt[i] * _kernel(thickness, radius, alpha, beta, q, phi);
+    }
+
+    double answer = (uplim - lolim) / 2.0 * summ;
+    answer *= delrho*delrho;
+
+    return answer;
+}
+
+double form_volume(double radius,
+        double thickness){
+
+        return 1.0;
+}
+
+double Iq(double q,
+          double radius,
+          double thickness,
+          double alpha,
+          double beta,
+          double sld_pringle,
+          double sld_solvent)
+{
+    const double form = pringles_kernel(q,
+                  radius,
+                  thickness,
+                  alpha,
+                  beta,
+                  sld_pringle,
+                  sld_solvent);
+
+    return 1.0e-4*form*M_PI*radius*radius*thickness;
+}
+
+double Iqxy(double qx, double qy,
+            double radius,
+            double thickness,
+            double alpha,
+            double beta,
+            double sld_pringle,
+            double sld_solvent)
+{
+    double q = sqrt(qx*qx + qy*qy);
+    return Iq(q,
+            radius,
+            thickness,
+            alpha,
+            beta,
+            sld_pringle,
+            sld_solvent);
+}
+
Index: sasmodels/models/pringle.py
===================================================================
--- sasmodels/models/pringle.py	(revision 1805a9e1634c4a831edc2938742a6e50061666eb)
+++ sasmodels/models/pringle.py	(revision 1805a9e1634c4a831edc2938742a6e50061666eb)
@@ -0,0 +1,140 @@
+r"""
+This model provides the form factor, $P(q)$, for a 'pringle' or 'saddle-shaped'
+object (a hyperbolic paraboloid).
+
+.. figure:: img/pringles_fig1.png
+
+    (Graphic from Matt Henderson, matt@matthen.com)
+
+The returned value is in units of cm^-1, on absolute scale.
+
+Definition
+----------
+
+The form factor calculated is
+
+.. math::
+
+    I(q) = (\Delta \rho )^2 V \int^{\pi/2}_0 d\psi \sin{\psi} sinc^2
+    \left( \frac{qd\cos{\psi}}{2} \right)
+    \left[ \left( S^2_0+C^2_0\right) + 2\sum_{n=1}^{\infty}
+     \left( S^2_0+C^2_0\right) \right]
+
+where
+
+.. math::
+
+    C_n = \int^{R}_{0} r dr\cos{qr^2\alpha \cos{\psi}}
+    J_n\left( qr^2\beta \cos{\psi}\right)
+    J_{2n}\left( qr \sin{\psi}\right)
+
+.. math::
+
+    S_n = \int^{R}_{0} r dr\sin{qr^2\alpha \cos{\psi}}
+    J_n\left( qr^2\beta \cos{\psi}\right)
+    J_{2n}\left( qr \sin{\psi}\right)
+
+
+.. figure:: img/pringle-vs-cylinder.png
+
+    1D plot using the default values (with 150 data points).
+
+Reference
+---------
+
+S Alexandru Rautu, Private Communication.
+
+"""
+
+from numpy import inf, pi
+
+name = "pringles"
+title = "Pringles model for K Edler. Represents a disc that is bent in two directions."
+description = """\
+
+"""
+category = "shape:cylinder"
+
+# pylint: disable=bad-whitespace, line-too-long
+#   ["name", "units", default, [lower, upper], "type","description"],
+parameters = [
+    ["radius",      "Ang",         60.0,   [0, inf],    "volume", "Pringle radius"],
+    ["thickness",   "Ang",         10.0,   [0, inf],    "volume", "Thickness of pringle"],
+    ["alpha",       "",            0.001,  [-inf, inf], "", "Curvature parameter alpha"],
+    ["beta",        "",            0.02,   [-inf, inf], "", "Curvature paramter beta"],
+    ["sld_pringle", "1e-6/Ang^2",  1.0,    [-inf, inf], "", "Pringle sld"],
+    ["sld_solvent", "1e-6/Ang^2",  6.3,    [-inf, inf], "", "Solvent sld"]
+    ]
+# pylint: enable=bad-whitespace, line-too-long
+
+source = ["lib/polevl.c", "lib/sas_J0.c", "lib/sas_J1.c", \
+          "lib/sas_JN.c", "lib/gauss76.c", "pringle.c"]
+
+def ER(radius, thickness):
+    """
+        Return equivalent radius (ER)
+    """
+    ddd = 0.75 * radius * (2 * radius * thickness + (thickness + radius) \
+                           * (thickness + pi * radius))
+    return 0.5 * (ddd) ** (1. / 3.)
+
+demo = dict(background=0.0,
+            scale=1.0,
+            radius=60.0,
+            thickness=10.0,
+            alpha=0.001,
+            beta=0.02,
+            sld_pringle=1.0,
+            sld_solvent=6.35)
+
+oldname = 'PringlesModel'
+oldpars = dict(background='background',
+               scale='scale',
+               radius='radius',
+               thickness='thickness',
+               alpha='alpha',
+               beta='beta',
+               pringle_sld='sld_pringle',
+               solvent_sld='sld_solvent')
+
+tests = [
+    [{'scale' : 1.0,
+      'radius': 60.0,
+      'thickness': 10.0,
+      'alpha': 0.001,
+      'beta': 0.02,
+      'sld_pringle': 1.0,
+      'sld_solvent': 6.3,
+      'background': 6.3,
+     }, 0.1, 16.185532],
+
+    [{'scale' : 1.0,
+      'radius': 60.0,
+      'thickness': 10.0,
+      'alpha': 0.001,
+      'beta': 0.02,
+      'sld_pringle': 1.0,
+      'sld_solvent': 6.3,
+      'background': 6.3,
+     }, 0.01, 297.153496],
+
+    [{'scale' : 1.0,
+      'radius': 60.0,
+      'thickness': 10.0,
+      'alpha': 0.001,
+      'beta': 0.02,
+      'sld_pringle': 1.0,
+      'sld_solvent': 6.3,
+      'background': 6.3,
+     }, 0.001, 324.021256415],
+
+    [{'scale' : 1.0,
+      'radius': 60.0,
+      'thickness': 10.0,
+      'alpha': 0.001,
+      'beta': 0.02,
+      'sld_pringle': 1.0,
+      'sld_solvent': 6.3,
+      'background': 6.3,
+     }, (0.001, 90.0), 6.30000026876],
+]
Index: sasmodels/models/raspberry.py
===================================================================
--- sasmodels/models/raspberry.py	(revision 5745f0bc6852d50816767f05adf5755e83fedb31)
+++ sasmodels/models/raspberry.py	(revision 2c1bbcdda40d60033fcfbb529ca0c186dbe707bf)
@@ -3,6 +3,6 @@
 ----------
 
-The figure below shows a schematic of a large droplet surrounded by several smaller particles
-forming a structure similar to that of Pickering emulsions.
+The figure below shows a schematic of a large droplet surrounded by several
+smaller particles forming a structure similar to that of Pickering emulsions.
 
 .. figure:: img/raspberry_geometry.jpg
@@ -10,11 +10,13 @@
     Schematic of the raspberry model
 
-In order to calculate the form factor of the entire complex, the self-correlation of the large droplet,
-the self-correlation of the particles, the correlation terms between different particles
-and the cross terms between large droplet and small particles all need to be calculated.
+In order to calculate the form factor of the entire complex, the self-
+correlation of the large droplet, the self-correlation of the particles, the
+correlation terms between different particles and the cross terms between large
+droplet and small particles all need to be calculated.
 
-Consider two infinitely thin shells of radii R2 and R2 separated by distance r. The general
-structure of the equation is then the form factor of the two shells multiplied by the phase
-factor that accounts for the separation of their centers.
+Consider two infinitely thin shells of radii R1 and R2 separated by distance r.
+The general structure of the equation is then the form factor of the two shells
+multiplied by the phase factor that accounts for the separation of their
+centers.
 
 .. math::
@@ -22,15 +24,18 @@
     S(q) = \frac{sin(qR_1)}{qR_1}\frac{sin(qR_2)}{qR_2}\frac{sin(qr)}{qr}
 
-In this case, the large droplet and small particles are solid spheres rather than thin shells. Thus
-the two terms must be integrated over $R_L$ and $R_S$ respectively using the weighting function of
-a sphere. We then obtain the functions for the form of the two spheres:
+In this case, the large droplet and small particles are solid spheres rather
+than thin shells. Thus the two terms must be integrated over $R_L$ and $R_S$
+respectively using the weighting function of a sphere. We then obtain the
+functions for the form of the two spheres:
 
 .. math::
 
-    \Psi_L = \int_0^{R_L}(4\pi R^2_L)\frac{sin(qR_L)}{qR_L}dR_L = \frac{3[sin(qR_L)-qR_Lcos(qR_L)]}{(qR_L)^2}
+    \Psi_L = \int_0^{R_L}(4\pi R^2_L)\frac{sin(qR_L)}{qR_L}dR_L = 
+    \frac{3[sin(qR_L)-qR_Lcos(qR_L)]}{(qR_L)^2}
 
 .. math::
 
-    \Psi_S = \int_0^{R_S}(4\pi R^2_S)\frac{sin(qR_S)}{qR_S}dR_S = \frac{3[sin(qR_S)-qR_Lcos(qR_S)]}{(qR_S)^2}
+    \Psi_S = \int_0^{R_S}(4\pi R^2_S)\frac{sin(qR_S)}{qR_S}dR_S =
+    \frac{3[sin(qR_S)-qR_Lcos(qR_S)]}{(qR_S)^2}
 
 The cross term between the large droplet and small particles is given by:
@@ -42,5 +47,6 @@
 
 .. math::
-    S_{SS} = \Psi_S^2\bigl[\frac{sin(q(R_L+\delta R_S))}{q(R_L+\delta\ R_S)}\bigr]^2
+    S_{SS} = \Psi_S^2\biggl[\frac{sin(q(R_L+\delta R_S))}{q(R_L+\delta\ R_S)}
+    \biggr]^2
 
 The number of small particles per large droplet, $N_p$, is given by:
@@ -50,16 +56,20 @@
     N_p = \frac{\phi_S\phi_{surface}V_L}{\phi_L V_S}
 
-where $\phi_S$ is the volume fraction of small particles in the sample, $\phi_{surface}$ is the
-fraction of the small particles that are adsorbed to the large droplets, $\phi_L$ is the volume fraction
-of large droplets in the sample, and $V_S$ and $V_L$ are the volumes of individual small particles and
+where $\phi_S$ is the volume fraction of small particles in the sample,
+$\phi_{surface}$ is the fraction of the small particles that are adsorbed to
+the large droplets, $\phi_L$ is the volume fraction of large droplets in the
+sample, and $V_S$ and $V_L$ are the volumes of individual small particles and
 large droplets respectively.
 
-The form factor of the entire complex can now be calculated including the excess scattering length
-densities of the components $\Delta\rho_L$ and $\Delta\rho_S$, where $\Delta\rho_x = |\rho_x-\rho_{solvent}|$ :
+The form factor of the entire complex can now be calculated including the excess
+scattering length densities of the components $\Delta\rho_L$ and $\Delta\rho_S$,
+where $\Delta\rho_x = |\rho_x-\rho_{solvent}|$ :
 
 .. math::
 
-    P_{LS} = \frac{1}{M^2}\bigl[(\Delta\rho_L)^2V_L^2\Psi_L^2+N_p(\Delta\rho_S)^2V_S^2\Psi_S^2
-                + N_p(1-N_p)(\Delta\rho_S)^2V_S^2S_{SS} + 2N_p\Delta\rho_L\Delta\rho_SV_LV_SS_{LS}
+    P_{LS} = \frac{1}{M^2}\bigl[(\Delta\rho_L)^2V_L^2\Psi_L^2
+                +N_p(\Delta\rho_S)^2V_S^2\Psi_S^2
+                + N_p(1-N_p)(\Delta\rho_S)^2V_S^2S_{SS}
+                + 2N_p\Delta\rho_L\Delta\rho_SV_LV_SS_{LS}\bigr]
 
 where M is the total scattering length of the whole complex :
@@ -68,13 +78,16 @@
     M = \Delta\rho_LV_L + N_p\Delta\rho_SV_S
 
-In a real system, there will ususally be an excess of small particles such that some fraction remain unbound.
-Therefore the overall scattering intensity is given by:
+In a real system, there will ususally be an excess of small particles such that
+some fraction remain unbound. Therefore the overall scattering intensity is
+given by:
 
 .. math::
-    I(Q) = I_{LS}(Q) + I_S(Q) = (\phi_L(\Delta\rho_L)^2V_L + \phi_S\phi_{surface}N_p(\Delta\rho_S)^2V_S)P_{LS}
+    I(Q) = I_{LS}(Q) + I_S(Q) = (\phi_L(\Delta\rho_L)^2V_L + 
+            \phi_S\phi_{surface}N_p(\Delta\rho_S)^2V_S)P_{LS}
             + \phi_S(1-\phi_{surface})(\Delta\rho_S)^2V_S\Psi_S^2
 
-A useful parameter to extract is the fraction of the surface area of the large droplets that is covered by small
-particles. This can be calculated from the model parameters as:
+A useful parameter to extract is the fraction of the surface area of the large
+droplets that is covered by small particles. This can be calculated from the
+model parameters as:
 
 .. math::
@@ -85,6 +98,7 @@
 ----------
 
-K Larson-Smith, A Jackson, and D C Pozzo, *Small angle scattering model for Pickering emulsions and raspberry*
-*particles*, *Journal of Colloid and Interface Science*, 343(1) (2010) 36-41
+K Larson-Smith, A Jackson, and D C Pozzo, *Small angle scattering model for
+Pickering emulsions and raspberry particles*, *Journal of Colloid and Interface
+Science*, 343(1) (2010) 36-41
 
 **Author:** Andrew Jackson **on:** 2008
