Index: ample/fit_sesans.py
===================================================================
--- example/fit_sesans.py	(revision 84db7a50ae40a38a16b4f9c6430e31c26f8407f4)
+++ 	(revision )
@@ -1,4 +1,0 @@
-import shlex, subprocess, sys
-args = shlex.split("sesansfit.sh blah --edit")
-args[1] = sys.argv[1]
-subprocess.Popen(args, shell="True")
Index: example/sesans_parameters_css-hs.py
===================================================================
--- example/sesans_parameters_css-hs.py	(revision 84db7a50ae40a38a16b4f9c6430e31c26f8407f4)
+++ example/sesans_parameters_css-hs.py	(revision a98958b137d45599ef7358a57d334a32fb6bc06c)
@@ -8,7 +8,4 @@
 # Enter the model name to use
 model_name = "core_shell_sphere*hardsphere"
-
-# DO NOT MODIFY THIS LINE
-model = sesansfit.get_bumps_model(model_name)
 
 # Enter any custom parameters
@@ -22,8 +19,11 @@
 # Initial parameter values (if other than defaults)
 initial_vals = {
+    "scale" : 0.09,
     "core_sld" : 1.0592,
     "solvent_sld" : 2.88,
+    "shell_sld" : 2.88,
     "radius" : 890,
-    "thickness" : 130
+    "thickness" : 130,
+    "volfraction" : 0.45
 }
 
@@ -36,12 +36,4 @@
 }
 
-# Constraints
-# model.param_name = f(other params)
-# EXAMPLE: model.scale = model.radius*model.radius*(1 - phi) - where radius and scale are model functions and phi is
-# a custom parameter
-model.scale = phi*(1-phi)
-model.volfraction = phi
-model.shell_sld = pen*2.88
-
 # Send to the fitting engine
 problem = sesansfit.sesans_fit(sesans_file, model_name, initial_vals, custom_params, param_range)
Index: example/sesans_parameters_sphere.py
===================================================================
--- example/sesans_parameters_sphere.py	(revision 84db7a50ae40a38a16b4f9c6430e31c26f8407f4)
+++ example/sesans_parameters_sphere.py	(revision a98958b137d45599ef7358a57d334a32fb6bc06c)
@@ -9,26 +9,20 @@
 model_name = "sphere"
 
-# DO NOT MODIFY THIS LINE
-model = sesansfit.get_bumps_model(model_name)
-
 # Enter any custom parameters
-# name = Parameter(initial_value, name='name')
 phi = Parameter(0.10, name='phi')
-# Add the parameters to this list that should be displayed in the fitting window
 custom_params = {"phi" : phi}
 
-# SESANS data file name
+# SESANS data file
 sesans_file = "sphere.ses"
 
 # Initial parameter values (if other than defaults)
-# "model_parameter_name" : value
 initial_vals = {
+    "scale" : phi*(1 - phi),
     "sld" : 7.0,
+    "solvent_sld" : 1.0,
     "radius" : 1000,
-    "solvent_sld" : 1.0,
 }
 
 # Ranges for parameters if other than default
-# "model_parameter_name" : [min, max]
 param_range = {
     "phi" : [0.001, 0.5],
@@ -36,12 +30,4 @@
 }
 
-# Constraints
-# model.param_name = f(other params)
-# EXAMPLE: model.scale = model.radius*model.radius*(1 - phi) - where radius and scale are model functions and phi is
-# a custom parameter
-model.scale = phi*(1-phi)
-
 # Send to the fitting engine
-# DO NOT MODIFY THIS LINE
-problem = sesansfit.sesans_fit(sesans_file, model, initial_vals, custom_params, param_range)
-
+problem = sesansfit.sesans_fit(sesans_file, model_name, initial_vals, custom_params, param_range)
Index: example/sesans_script_css-hs.py
===================================================================
--- example/sesans_script_css-hs.py	(revision a98958b137d45599ef7358a57d334a32fb6bc06c)
+++ example/sesans_script_css-hs.py	(revision a98958b137d45599ef7358a57d334a32fb6bc06c)
@@ -0,0 +1,3 @@
+import shlex, subprocess
+args = shlex.split("sesansfit.sh sesans_parameters_css-hs.py --edit")
+subprocess.Popen(args, shell="True")
Index: example/sesans_script_sphere.py
===================================================================
--- example/sesans_script_sphere.py	(revision a98958b137d45599ef7358a57d334a32fb6bc06c)
+++ example/sesans_script_sphere.py	(revision a98958b137d45599ef7358a57d334a32fb6bc06c)
@@ -0,0 +1,3 @@
+import shlex, subprocess
+args = shlex.split("sesansfit.sh sesans_parameters_sphere.py --edit")
+subprocess.Popen(args, shell="True")
Index: example/sesansfit.py
===================================================================
--- example/sesansfit.py	(revision 84db7a50ae40a38a16b4f9c6430e31c26f8407f4)
+++ example/sesansfit.py	(revision a98958b137d45599ef7358a57d334a32fb6bc06c)
@@ -1,4 +1,7 @@
+#TODO: Convert units properly (nm -> A)
+#TODO: Implement constraints
+
 from bumps.names import *
-from sasmodels import core, bumps_model, sesans
+from sasmodels import core, bumps_model
 
 HAS_CONVERTER = True
@@ -8,17 +11,12 @@
     HAS_CONVERTER = False
 
-def get_bumps_model(model_name):
-    kernel = core.load_model(model_name)
-    model = bumps_model.Model(kernel)
-    return model
+def sesans_fit(file, model_name, initial_vals={}, custom_params={}, param_range=[]):
+    """
 
-def sesans_fit(file, model, initial_vals={}, custom_params={}, param_range=[]):
-    """
     @param file: SESANS file location
-    @param model: Bumps model object or model name - can be model, model_1 * model_2, and/or model_1 + model_2
+    @param model_name: model name string - can be model, model_1 * model_2, and/or model_1 + model_2
     @param initial_vals: dictionary of {param_name : initial_value}
     @param custom_params: dictionary of {custom_parameter_name : Parameter() object}
     @param param_range: dictionary of {parameter_name : [minimum, maximum]}
-    @param constraints: dictionary of {parameter_name : constraint}
     @return: FitProblem for Bumps usage
     """
@@ -31,9 +29,5 @@
             default_unit = "A"
             data_conv_q = Converter(data._xunit)
-            for x in data.x:
-                print x
             data.x = data_conv_q(data.x, units=default_unit)
-            for x in data.x:
-                print x
             data._xunit = default_unit
 
@@ -57,14 +51,11 @@
         data = SESANSData1D()
 
-    if "radius" in initial_vals:
-        radius = initial_vals.get("radius")
-    else:
-        radius = 1000
+    radius = 1000
     data.Rmax = 3*radius # [A]
 
-    if isinstance(model, basestring):
-        model = get_bumps_model(model)
+    kernel = core.load_model(model_name)
+    model = bumps_model.Model(kernel)
 
-    # Load custom parameters, initial values and parameter ranges
+    # Load custom parameters, initial values and parameter constraints
     for k, v in custom_params.items():
         setattr(model, k, v)
@@ -78,5 +69,5 @@
             setattr(param.bounds, "limits", v)
 
-    if False: # for future implementation
+    if False: # have sans data
         M_sesans = bumps_model.Experiment(data=data, model=model)
         M_sans = bumps_model.Experiment(data=sans_data, model=model)
Index: sasmodels/data.py
===================================================================
--- sasmodels/data.py	(revision 84db7a50ae40a38a16b4f9c6430e31c26f8407f4)
+++ sasmodels/data.py	(revision 78242766ff138c39a869935c18f0396d8f9a3734)
@@ -440,26 +440,14 @@
 
     if use_data or use_theory:
-        is_tof = np.any(data.lam!=data.lam[0])
         if num_plots > 1:
             plt.subplot(1, num_plots, 1)
         if use_data:
-            if is_tof:
-                plt.errorbar(data.x, np.log(data.y)/(data.lam*data.lam), yerr=data.dy/data.y/(data.lam*data.lam))
-            else:
-                plt.errorbar(data.x, data.y, yerr=data.dy)
+            plt.errorbar(data.x, data.y, yerr=data.dy)
         if theory is not None:
-            if is_tof:
-                plt.plot(data.x, np.log(theory)/(data.lam*data.lam), '-', hold=True)
-            else:
-                plt.plot(data.x, theory, '-', hold=True)
+            plt.plot(data.x, theory, '-', hold=True)
         if limits is not None:
             plt.ylim(*limits)
-
-        plt.xlabel('spin echo length ({})'.format(data._xunit))
-        if is_tof:
-            plt.ylabel('(Log (P/P$_0$))/$\lambda^2$')
-        else:
-            plt.ylabel('polarization (P/P0)')
-
+        plt.xlabel('spin echo length (nm)')
+        plt.ylabel('polarization (P/P0)')
 
     if resid is not None:
@@ -467,5 +455,5 @@
             plt.subplot(1, num_plots, (use_data or use_theory) + 1)
         plt.plot(data.x, resid, 'x')
-        plt.xlabel('spin echo length ({})'.format(data._xunit))
+        plt.xlabel('spin echo length (nm)')
         plt.ylabel('residuals (P/P0)')
 
Index: sasmodels/models/hardsphere.py
===================================================================
--- sasmodels/models/hardsphere.py	(revision 84db7a50ae40a38a16b4f9c6430e31c26f8407f4)
+++ sasmodels/models/hardsphere.py	(revision aa2edb2b2fb550caed0506dcf63bc7eac7e1779a)
@@ -7,5 +7,5 @@
 the maths needs to be modified (no \Beta(Q) correction yet in sasview).
 
-effect_radius is the effective hard sphere radius.
+radius_effective is the effective hard sphere radius.
 volfraction is the volume fraction occupied by the spheres.
 
@@ -53,5 +53,5 @@
         systems. Though strictly the maths needs to be modified -
     which sasview does not do yet.
-    effect_radius is the hard sphere radius
+    radius_effective is the hard sphere radius
     volfraction is the volume fraction occupied by the spheres.
 """
@@ -60,5 +60,5 @@
 
 #             ["name", "units", default, [lower, upper], "type","description"],
-parameters = [["effect_radius", "Ang", 50.0, [0, inf], "volume",
+parameters = [["radius_effective", "Ang", 50.0, [0, inf], "volume",
                "effective radius of hard sphere"],
               ["volfraction", "", 0.2, [0, 0.74], "",
@@ -75,5 +75,5 @@
       double D,A,B,G,X,X2,X4,S,C,FF,HARDSPH;
 
-      if(fabs(effect_radius) < 1.E-12) {
+      if(fabs(radius_effective) < 1.E-12) {
                HARDSPH=1.0;
                return(HARDSPH);
@@ -84,5 +84,5 @@
       A= (1.+2.*volfraction)*D;
       A *=A;
-      X=fabs(q*effect_radius*2.0);
+      X=fabs(q*radius_effective*2.0);
 
       if(X < 5.E-06) {
@@ -147,11 +147,11 @@
 # VR defaults to 1.0
 
-demo = dict(effect_radius=200, volfraction=0.2, effect_radius_pd=0.1, effect_radius_pd_n=40)
+demo = dict(radius_effective=200, volfraction=0.2, radius_effective_pd=0.1, radius_effective_pd_n=40)
 oldname = 'HardsphereStructure'
-oldpars = dict(effect_radius="effect_radius",effect_radius_pd="effect_radius_pd",effect_radius_pd_n="effect_radius_pd_n")
+oldpars = dict(radius_effective="effect_radius",radius_effective_pd="effect_radius_pd",radius_effective_pd_n="effect_radius_pd_n")
 # Q=0.001 is in the Taylor series, low Q part, so add Q=0.1, assuming double precision sasview is correct
 tests = [
-        [ {'scale': 1.0, 'background' : 0.0, 'effect_radius' : 50.0, 'volfraction' : 0.2,
-           'effect_radius_pd' : 0}, [0.001,0.1], [0.209128,0.930587]]
+        [ {'scale': 1.0, 'background' : 0.0, 'radius_effective' : 50.0, 'volfraction' : 0.2,
+           'radius_effective_pd' : 0}, [0.001,0.1], [0.209128,0.930587]]
         ]
 # ADDED by: RKH  ON: 16Mar2016  using equations from FISH as better than orig sasview, see notes above. Added Taylor expansions at small Q, 
