Index: sasmodels/convert.py
===================================================================
--- sasmodels/convert.py	(revision 062db5a05f26e70feea0a4fd1ce809f6c457dedf)
+++ sasmodels/convert.py	(revision c6ca41e077aa705fcd195f07f143a6daaf729840)
@@ -156,4 +156,6 @@
         elif name == 'vesicle':
             del oldpars['volfraction']
+        elif name == 'multilayer_vesicle':
+            del oldpars['volfraction']
 
     return oldpars
@@ -195,3 +197,5 @@
         elif name == 'vesicle':
             pars['volfraction'] = 1
+        elif name == 'multilayer_vesicle':
+            pars['volfraction'] = 1
             
Index: smodels/models/multi_shell.c
===================================================================
--- sasmodels/models/multi_shell.c	(revision d51ea74056d9370690a3247b3f61a63cf942f189)
+++ 	(revision )
@@ -1,76 +1,0 @@
-static
-double multi_shell_kernel(double q,
-          double core_radius,
-          double s_thickness,
-          double w_thickness,
-          double core_sld,
-          double shell_sld,
-          double n_pairs)
-{
-    //calculate with a loop, two shells at a time
-    int ii = 0;
-    double fval = 0.0;
-    double voli = 0.0;
-    const double sldi = core_sld-shell_sld;
-
-    do {
-        double ri = core_radius + (double)ii*(s_thickness + w_thickness);
-
-        // layer 1
-        voli = 4.0*M_PI/3.0*ri*ri*ri;
-        fval += voli*sldi*sph_j1c(ri*q);
-
-        ri += s_thickness;
-
-        // layer 2
-        voli = 4.0*M_PI/3.0*ri*ri*ri;
-        fval -= voli*sldi*sph_j1c(ri*q);
-
-        //do 2 layers at a time
-        ii += 1;
-
-    } while(ii <= n_pairs-1);  //change to make 0 < n_pairs < 2 correspond to
-                               //unilamellar vesicles (C. Glinka, 11/24/03)
-
-    fval *= 1.0e-4*fval/voli;
-
-    return(fval);
-}
-
-static
-double Iq(double q,
-          double core_radius,
-          double s_thickness,
-          double w_thickness,
-          double core_sld,
-          double shell_sld,
-          double n_pairs)
-{
-    return multi_shell_kernel(q,
-           core_radius,
-           s_thickness,
-           w_thickness,
-           core_sld,
-           shell_sld,
-           n_pairs);
-}
-
-static
-double Iqxy(double qx, double qy,
-          double core_radius,
-          double s_thickness,
-          double w_thickness,
-          double core_sld,
-          double shell_sld,
-          double n_pairs)
-{
-    double q = sqrt(qx*qx + qy*qy);
-
-    return multi_shell_kernel(q,
-           core_radius,
-           s_thickness,
-           w_thickness,
-           core_sld,
-           shell_sld,
-           n_pairs);
-}
Index: smodels/models/multi_shell.py
===================================================================
--- sasmodels/models/multi_shell.py	(revision 2f0c07deb2cb7a8c0c93476fbf1e0ffbe6c278cb)
+++ 	(revision )
@@ -1,113 +1,0 @@
-r"""
-This model provides the form factor, *P(q)*, for a multi-lamellar vesicle
-with *N* shells where the core is filled with solvent and the shells are
-interleaved with layers of solvent. For *N = 1*, this returns the VesicleModel.
-
-For information about polarised and magnetic scattering, click here_.
-
-.. _here: polar_mag_help.html
-
-Definition
-----------
-
-This model is a trivial extension of the CoreShell function to a larger number
-of shells. See the core_shell_ function for a diagram and documentation.
-
-.. _core_shell: core_shell_sphere.html
-
-Be careful! The SLDs and scale can be highly correlated. Hold as many of these
-parameters fixed as possible.
-
-.. figure:: img/multi_shell_geometry.jpg
-
-The 2D scattering intensity is the same as 1D, regardless of the orientation
-of the q vector which is defined as:
-
-.. math::
-
-    q = \sqrt{q_x^2 + q_y^2}
-
-.. note:
-    The outer most radius
-    $core_radius + n_pairs * s_thickness + (n_pairs - 1) * w_thickness$
-    is used as the effective radius for *S(Q)* when $P(Q) * S(Q)$ is applied.
-
-
-Our model uses the form factor calculations implemented in a c-library provided
-by the NIST Center for Neutron Research (Kline, 2006).
-
-Reference
----------
-B Cabane, *Small Angle Scattering Methods*,
-in *Surfactant Solutions: New Methods of Investigation*,
-Ch.2, Surfactant Science Series Vol. 22, Ed. R Zana and M Dekker,
-New York, (1987).
-
-"""
-
-from numpy import inf
-
-name = "multi_shell"
-title = "Multi shell model"
-description = """
-    MultiShell (Sphere) Model (or Multilamellar Vesicles): Model parameters;
-    scale : scale factor
-    core_radius : Core radius of the multishell
-    s_thickness: shell thickness
-    w_thickness: water thickness
-    core_sld: core scattering length density
-    shell_sld: shell scattering length density
-    n_pairs:number of pairs of water/shell
-    background: incoherent background
-        """
-category = "shape:sphere"
-
-# pylint: disable=bad-whitespace, line-too-long
-#   ["name", "units", default, [lower, upper], "type","description"],
-parameters = [
-    ["core_radius", "Ang",        60.0, [0.0, inf],  "", "Core radius of the multishell"],
-    ["s_thickness", "Ang",        10.0, [0.0, inf],  "", "Shell thickness"],
-    ["w_thickness", "Ang",        10.0, [0.0, inf],  "", "Water thickness"],
-    ["core_sld",    "1e-6/Ang^2",  6.4, [-inf, inf], "", "Core scattering length density"],
-    ["shell_sld",   "1e-6/Ang^2",  0.4, [-inf, inf], "", "Shell scattering length density"],
-    ["n_pairs",     "",            2.0, [1.0, inf],  "", "Number of pairs of water and shell"],
-    ]
-# pylint: enable=bad-whitespace, line-too-long
-
-source = ["lib/sph_j1c.c", "multi_shell.c"]
-
-polydispersity = ["core_radius", "n_pairs"]
-
-demo = dict(scale=1, background=0,
-            core_radius=60.0,
-            s_thickness=10.0,
-            w_thickness=10.0,
-            core_sld=6.4,
-            shell_sld=0.4,
-            n_pairs=2.0)
-
-oldname = 'MultiShellModel'
-oldpars = dict()
-
-tests = [
-    # Accuracy tests based on content in test/utest_other_models.py
-    [{'core_radius': 60.0,
-      's_thickness': 10.0,
-      'w_thickness': 10.0,
-      'core_sld': 6.4,
-      'shell_sld': 0.4,
-      'n_pairs': 2.0,
-      'scale': 1.0,
-      'background': 0.001,
-     }, 0.001, 2442.81],
-
-    [{'core_radius': 60.0,
-      's_thickness': 10.0,
-      'w_thickness': 10.0,
-      'core_sld': 6.4,
-      'shell_sld': 0.4,
-      'n_pairs': 2.0,
-      'scale': 1.0,
-      'background': 0.001,
-     }, (0.001, 0.30903), 1.61873],
-    ]
Index: sasmodels/models/multilayer_vesicle.c
===================================================================
--- sasmodels/models/multilayer_vesicle.c	(revision c6ca41e077aa705fcd195f07f143a6daaf729840)
+++ sasmodels/models/multilayer_vesicle.c	(revision c6ca41e077aa705fcd195f07f143a6daaf729840)
@@ -0,0 +1,81 @@
+static
+double multilayer_vesicle_kernel(double q,
+          double volfraction,
+          double radius,
+          double thick_shell,
+          double thick_solvent,
+          double sld_solvent,
+          double sld,
+          double n_pairs)
+{
+    //calculate with a loop, two shells at a time
+    int ii = 0;
+    double fval = 0.0;
+    double voli = 0.0;
+    const double sldi = sld_solvent-sld;
+
+    do {
+        double ri = radius + (double)ii*(thick_shell + thick_solvent);
+
+        // layer 1
+        voli = 4.0*M_PI/3.0*ri*ri*ri;
+        fval += voli*sldi*sph_j1c(ri*q);
+
+        ri += thick_shell;
+
+        // layer 2
+        voli = 4.0*M_PI/3.0*ri*ri*ri;
+        fval -= voli*sldi*sph_j1c(ri*q);
+
+        //do 2 layers at a time
+        ii += 1;
+
+    } while(ii <= n_pairs-1);  //change to make 0 < n_pairs < 2 correspond to
+                               //unilamellar vesicles (C. Glinka, 11/24/03)
+
+    fval *= volfraction*1.0e-4*fval/voli;
+
+    return(fval);
+}
+
+static
+double Iq(double q,
+          double volfraction,
+          double radius,
+          double thick_shell,
+          double thick_solvent,
+          double sld_solvent,
+          double sld,
+          double n_pairs)
+{
+    return multilayer_vesicle_kernel(q,
+           volfraction,
+           radius,
+           thick_shell,
+           thick_solvent,
+           sld_solvent,
+           sld,
+           n_pairs);
+}
+
+static
+double Iqxy(double qx, double qy,
+          double volfraction,
+          double radius,
+          double thick_shell,
+          double thick_solvent,
+          double sld_solvent,
+          double sld,
+          double n_pairs)
+{
+    double q = sqrt(qx*qx + qy*qy);
+
+    return multilayer_vesicle_kernel(q,
+           volfraction,
+           radius,
+           thick_shell,
+           thick_solvent,
+           sld_solvent,
+           sld,
+           n_pairs);
+}
Index: sasmodels/models/multilayer_vesicle.py
===================================================================
--- sasmodels/models/multilayer_vesicle.py	(revision c6ca41e077aa705fcd195f07f143a6daaf729840)
+++ sasmodels/models/multilayer_vesicle.py	(revision c6ca41e077aa705fcd195f07f143a6daaf729840)
@@ -0,0 +1,127 @@
+r"""
+Definition
+----------
+
+This model is a trivial extension of the core_shell_sphere function to include
+*N* shells where the core is filled with solvent and the shells are interleaved
+with layers of solvent. For *N = 1*, this returns the same as the vesicle model.
+The shell thicknessess and SLD are constant across all shells as expected for
+a multilayer vesicle.
+
+.. figure:: img/multi_shell_geometry.jpg
+
+    Geometry of the multilayer_vesicle model.
+
+See the core_shell_ function for more documentation.
+
+.. _core_shell: core_shell_sphere.html
+
+The 2D scattering intensity is the same as 1D, regardless of the orientation
+of the q vector which is defined as:
+
+.. math::
+
+    q = \sqrt{q_x^2 + q_y^2}
+
+.. note:
+    The outer most radius
+    $radius + n_pairs * thicn_shell + (n_pairs - 1) * thick_solvent$
+    is used as the effective radius for *S(Q)* when $P(Q) * S(Q)$ is applied.
+
+
+
+For information about polarised and magnetic scattering, click here_.
+
+.. _here: polar_mag_help.html
+
+This code is based on the form factor calculations implemented in the NIST
+Center for Neutron Research provided c-library (Kline, 2006).
+
+References
+----------
+
+B Cabane, *Small Angle Scattering Methods*,
+in *Surfactant Solutions: New Methods of Investigation*,
+Ch.2, Surfactant Science Series Vol. 22, Ed. R Zana and M Dekker,
+New York, (1987).
+
+**Author:** NIST IGOR/DANSE **on:** pre 2010
+
+**Last Modified by:** Piotr Rozyczko**on:** Feb 24, 2016
+
+**Last Reviewed by:** Paul Butler **on:** March 20, 2016
+
+"""
+
+from numpy import inf
+
+name = "multilayer_vesicle"
+title = "P(Q) for a Multi-lamellar vesicle"
+description = """
+    multilayer_vesicle model parameters;
+    scale : scale factor for abs intensity if needed else 1.0
+    volfraction: volume fraction
+    radius : Core radius of the multishell
+    thick_shell: shell thickness
+    thick_solvent: water thickness
+    sld_solvent: solvent scattering length density
+    sld: shell scattering length density
+    n_pairs:number of pairs of water/shell
+    background: incoherent background
+        """
+category = "shape:sphere"
+
+# pylint: disable=bad-whitespace, line-too-long
+#   ["name", "units", default, [lower, upper], "type","description"],
+parameters = [
+    ["volfraction", "",  0.05, [0.0, 1],  "", "volume fraction of vesicles"],
+    ["radius", "Ang", 60.0, [0.0, inf],  "", "Core radius of the multishell"],
+    ["thick_shell", "Ang",        10.0, [0.0, inf],  "", "Shell thickness"],
+    ["thick_solvent", "Ang",        10.0, [0.0, inf],  "", "Water thickness"],
+    ["sld_solvent",    "1e-6/Ang^2",  6.4, [-inf, inf], "", "Core scattering length density"],
+    ["sld",   "1e-6/Ang^2",  0.4, [-inf, inf], "", "Shell scattering length density"],
+    ["n_pairs",     "",            2.0, [1.0, inf],  "", "Number of pairs of water and shell"],
+    ]
+# pylint: enable=bad-whitespace, line-too-long
+
+source = ["lib/sph_j1c.c", "multilayer_vesicle.c"]
+
+polydispersity = ["radius", "n_pairs"]
+
+demo = dict(scale=1, background=0,
+            volfraction=0.05,
+            radius=60.0,
+            thick_shell=10.0,
+            thick_solvent=10.0,
+            sld_solvent=6.4,
+            sld=0.4,
+            n_pairs=2.0)
+
+oldname = 'MultiShellModel'
+oldpars = dict(radius='core_radius',
+               thick_shell='s_thickness', thick_solvent='w_thickness',
+               sld_solvent='core_sld', sld='shell_sld')
+
+tests = [
+    # Accuracy tests based on content in test/utest_other_models.py
+    [{'radius': 60.0,
+      'thick_shell': 10.0,
+      'thick_solvent': 10.0,
+      'sld_solvent': 6.4,
+      'sld': 0.4,
+      'n_pairs': 2.0,
+      'scale': 1.0,
+      'background': 0.001,
+     }, 0.001, 122.1405],
+
+    [{'volfraction': 1.0,
+      'radius': 60.0,
+      'thick_shell': 10.0,
+      'thick_solvent': 10.0,
+      'sld_solvent': 6.4,
+      'sld': 0.4,
+      'n_pairs': 2.0,
+      'scale': 1.0,
+      'background': 0.001,
+     }, (0.001, 0.30903), 1.61873],
+    ]
