Index: sansguiframe/docs/sphinx/conf.py
===================================================================
--- sansguiframe/docs/sphinx/conf.py	(revision 2d33e76f159534d0444829bb9c560ac01dd5ad94)
+++ sansguiframe/docs/sphinx/conf.py	(revision 4f821839805b15fecffd68b64e2f1ebbb244e5c6)
@@ -17,7 +17,5 @@
 # add these directories to sys.path here. If the directory is relative to the
 # documentation root, use os.path.abspath to make it absolute, like shown here.
-sys.path.append(os.path.abspath(os.path.dirname('../../guiframe')))
-path = '../../guiframe/local_perspectives/plotting'
-sys.path.append(os.path.abspath(os.path.dirname(path)))
+sys.path.append(os.path.abspath(os.path.join('..', '..', 'src')))
 sys.path.append(os.path.abspath('_extensions'))
 # -- General configuration -----------------------------------------------------
Index: sansguiframe/docs/sphinx/genmods.py
===================================================================
--- sansguiframe/docs/sphinx/genmods.py	(revision 2d33e76f159534d0444829bb9c560ac01dd5ad94)
+++ sansguiframe/docs/sphinx/genmods.py	(revision 4f821839805b15fecffd68b64e2f1ebbb244e5c6)
@@ -1,2 +1,11 @@
+"""
+This module generates .rst file for each python file under sans.guiframe.
+Please run this file to autogenerate .rst files and build sphinx doc.
+
+"""
+
+
+
+
 from __future__ import with_statement
 import os.path
@@ -39,4 +48,7 @@
 
 def genfiles(package, package_name, modules, dir='api'):
+    """
+    Generates .rst file for each python module under sans.guiframe
+    """
 
     if not os.path.exists(dir):
@@ -52,45 +64,43 @@
 
 
-modules=[
-         ('aboutbox', 'aboutbox'),
-    ('config', 'config'),
-    ('data_loader', 'data_loader'),
-    ('dataFitting', 'dataFitting'),
-    ('dummyapp', 'dummyapp'),
-    ('gui_manager', 'gui_manager'),
-    ('load_thread', 'load_thread'),
-    ('statusbar', 'statusbar'),
-    ('utils', 'utils'),
-    ('version', 'version'),
-]
-package = 'sans.guiframe'
-package_name='Reference'
+def create_module_tuple(path):
+    """
+    Create tuples of module  and module name
+    :param path: path of the a package directory
+    """
+    modules = []
+    list = os.listdir(path)
+    for item in list:
+        toks = os.path.splitext(os.path.basename(item))
+        if toks[1] == '.py' and toks[0] not in ["__init__"]:
+            exec "module = ('%s', '%s')"%(toks[0], toks[0])
+            modules.append(module)
+    return modules
 
 if __name__ == "__main__":
+   
+    path = os.path.join('..', '..', 'src', 'sans', 'guiframe')
+    modules = create_module_tuple(path)
+    package = 'sans.guiframe'
+    package_name = 'Reference'
     genfiles(package, package_name, modules, dir='api')
-    
-    modules=[
-             ('AnnulusSlicer', 'AnnulusSlicer'),
-             ('Arc', 'Arc'),
-             ('AzimutSlicer', 'AzimutSlicer'),
-             ('BaseInteractor', 'BaseInteractor'),
-             ('binder', 'binder'),
-             ('boxMask', 'boxMask'),
-             ('boxSlicer', 'boxSlicer'),
-             ('boxSum', 'boxSum'),
-             ('detector_dialog', 'detector_dialog'),
-             ('Edge', 'Edge'),
-             ('masking', 'masking'),
-             ('Plotter1D', 'Plotter1D'),
-             ('Plotter2D', 'Plotter2D'),
-             ('plotting', 'plotting'), 
-             ('sectorMask', 'sectorMask'),
-             ('SectorSlicer', 'SectorSlicer'),
-             ('slicerpanel', 'slicerpanel'),
-             ('SlicerParameters', 'SlicerParameters'),
-             ]
-    package = 'sans.guiframe.local_perspectives.plotting'
-    package_name = 'Local Perspective: Plotting'
-    genfiles(package, package_name, modules, dir='api/local_perspectives/plotting')
+    # build local plugin
+    for f in os.listdir(path):
+        if os.path.isdir(os.path.join(path, f)) and not f.startswith('.') \
+            and f not in ['images', 'media']:
+            if f  == "local_perspectives":
+                temp = os.path.join(path, f)
+                if os.path.isdir(temp):
+                    for tf in os.listdir(temp):
+                        if os.path.isdir(os.path.join(path, f, tf)) \
+                            and not tf.startswith('.') :
+                            package = "sans.guiframe"
+                            package += ".local_perspectives.%s" % str(tf)
+                            p = os.path.join(path, f, tf)
+                            package_name = 'Local Perspective: %s' % str(tf)
+                            modules = create_module_tuple(p)
+                            dir = os.path.join("api", "local_perspectives", tf)
+                            genfiles(package, package_name, modules, dir=dir)
+          
     print "Sphinx: generate .rst files complete..."
     
Index: sansguiframe/docs/sphinx/index.rst
===================================================================
--- sansguiframe/docs/sphinx/index.rst	(revision 2d33e76f159534d0444829bb9c560ac01dd5ad94)
+++ sansguiframe/docs/sphinx/index.rst	(revision 4f821839805b15fecffd68b64e2f1ebbb244e5c6)
@@ -14,4 +14,5 @@
    api/index.rst
    api/local_perspectives/plotting/index.rst
+   api/local_perspectives/data_loader/index.rst
 
 Indices and tables
Index: sansguiframe/src/setup.py
===================================================================
--- sansguiframe/src/setup.py	(revision 2ec622896cf7e5f91fe659bd2c099a59b69e1638)
+++ sansguiframe/src/setup.py	(revision 4f821839805b15fecffd68b64e2f1ebbb244e5c6)
@@ -1,24 +1,16 @@
 
 """
-    Installs the guiframe package
+Installs the guiframe package
 """
 
-    
-from distutils.core import setup, Extension
+from distutils.core import setup
+import os
 
-from distutils.sysconfig import get_python_lib
-import os
-import sys
+path = os.path.join(os.getcwd(), "sans", "guiframe",'local_perspectives')
+package_dir = {"sans.guiframe":os.path.join("sans", "guiframe"),
+               "sans.guiframe.local_perspectives":os.path.join("sans",
+                                                        "guiframe",
+                                                        "local_perspectives"),}
 
-
-    
-path = os.path.join(os.getcwd(), 'local_perspectives')
-package_dir = { "sans.guiframe":".",
-                "sans.guiframe.local_perspectives":"local_perspectives",
-                #"sans.guiframe.images":"images",
-               # "sans.guiframe.media":"media",
-                }
-#package_data = {"sans.guiframe": ['images/*'],
-#                "sans.guiframe":'media/*']}
 package_data = {"sans.guiframe": ['images/*', 'media/*']}
 packages = ["sans.guiframe", 
@@ -29,18 +21,17 @@
         package_name = "sans.guiframe.local_perspectives." + dir
         packages.append(package_name)
-        package_dir[package_name] = "local_perspectives/" + dir
+        package_dir[package_name] = os.path.join("sans", 
+                                                 "guiframe",
+                                                 "local_perspectives" , dir)
 
 
 setup(
-    name="guiframe",
+    name="sans.guiframe",
     version = "0.9.1",
     description = "Python module for SANS gui framework",
     author = "University of Tennessee",
     url = "http://danse.chem.utk.edu",
-    
     package_dir = package_dir,
-
     packages = packages,
     package_data = package_data,
-
     )
