refactoring
diff --git a/xos/tosca/__init__.py b/xos/tosca/__init__.py
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/xos/tosca/__init__.py
@@ -0,0 +1 @@
+
diff --git a/xos/tosca/tosca.py b/xos/tosca/execute.py
similarity index 68%
rename from xos/tosca/tosca.py
rename to xos/tosca/execute.py
index 5321fec..5511ae8 100644
--- a/xos/tosca/tosca.py
+++ b/xos/tosca/execute.py
@@ -5,25 +5,8 @@
 sys.path.append("/opt/tosca")
 from translator.toscalib.tosca_template import ToscaTemplate
 
-sys.path.append("/opt/xos")
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
-import django
-django.setup()
 from core.models import Slice,Sliver,User,Flavor,Node,Image
-
-class XOSNodeSelector(object):
-    def __init__(self, user):
-        self.user = user
-
-    def get_allowed_nodes(self):
-        # TODO: logic to get nodes that the user can use
-        nodes = Node.objects.all()
-        return nodes
-
-    def get_nodes(self, quantity):
-        nodes = self.get_allowed_nodes()
-        # TODO: sort the nodes by some useful metric to pick the best one
-        return nodes[:quantity]
+from nodeselect import XOSNodeSelector
 
 class XOSTosca(object):
     def __init__(self, tosca_yaml):
@@ -109,44 +92,8 @@
                         slice = slice,
                         image = image)
         sliver.caller = user
-        sliver.save()
+        print "XXX save sliver" #sliver.save()
 
 
-def main():
-    sample = """tosca_definitions_version: tosca_simple_yaml_1_0
-
-description: Template for deploying a single server with predefined properties.

-

-topology_template:

-  node_templates:

-    my_server:

-      type: tosca.nodes.Compute

-      capabilities:

-        # Host container properties

-        host:

-         properties:

-           num_cpus: 1

-           disk_size: 10 GB

-           mem_size: 4 MB

-        # Guest Operating System properties

-        os:

-          properties:

-            # host Operating System image properties

-            architecture: x86_64

-            type: linux

-            distribution: rhel

-            version: 6.5
-      artifacts:
-          - xos_slice: mysite_tosca
-            type: tosca.artifacts.Deployment
-
-"""
-    u = User.objects.get(email="scott@onlab.us")
-
-    xt = XOSTosca(sample)
-    xt.execute(u)
-
-if __name__=="__main__":
-    main()
 
 
diff --git a/xos/tosca/run.py b/xos/tosca/run.py
new file mode 100644
index 0000000..a4a7407
--- /dev/null
+++ b/xos/tosca/run.py
@@ -0,0 +1,54 @@
+import os
+import sys
+
+# add the parent directory to sys.path
+import os,sys,inspect
+currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
+parentdir = os.path.dirname(currentdir)
+sys.path.append(parentdir)
+
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
+import django
+django.setup()
+
+from core.models import User
+from tosca.execute import XOSTosca
+
+def main():
+    django.setup()
+
+    sample = """tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Template for deploying a single server with predefined properties.
+
+topology_template:
+  node_templates:
+    my_server:
+      type: tosca.nodes.Compute
+      capabilities:
+        # Host container properties
+        host:
+         properties:
+           num_cpus: 1
+           disk_size: 10 GB
+           mem_size: 4 MB
+        # Guest Operating System properties
+        os:
+          properties:
+            # host Operating System image properties
+            architecture: x86_64
+            type: linux
+            distribution: rhel
+            version: 6.5
+      artifacts:
+          - xos_slice: mysite_tosca
+            type: tosca.artifacts.Deployment
+
+"""
+    u = User.objects.get(email="scott@onlab.us")
+
+    xt = XOSTosca(sample)
+    xt.execute(u)
+
+if __name__=="__main__":
+    main()