diff --git a/xos/tosca/resources/user.py b/xos/tosca/resources/user.py
new file mode 100644
index 0000000..0f0c0a1
--- /dev/null
+++ b/xos/tosca/resources/user.py
@@ -0,0 +1,59 @@
+import os
+import pdb
+import sys
+import tempfile
+sys.path.append("/opt/tosca")
+from translator.toscalib.tosca_template import ToscaTemplate
+
+from core.models import User, Site
+
+from xosresource import XOSResource
+
+class XOSUser(XOSResource):
+    provides = "tosca.nodes.User"
+    xos_model = User
+
+    def get_xos_args(self):
+        args = {"email": self.nodetemplate.name}
+
+        # copy simple string properties from the template into the arguments
+        for prop in ["password", "firstname", "lastname", "phone", "user_url", "public_key", "is_active", "is_admin", "login_page"]:
+            v = self.get_property(prop)
+            if v:
+                args[prop] = v
+
+        site_name = self.get_requirement("tosca.relationships.MemberOfSite")
+        if site_name:
+            args["site"] = self.get_xos_object(Site, login_base=site_name)
+
+        return args
+
+    def get_existing_objs(self):
+        return self.xos_model.objects.filter(email = self.nodetemplate.name)
+
+    def postprocess(self, obj):
+        pass
+
+    def create(self):
+        nodetemplate = self.nodetemplate
+
+        xos_args = self.get_xos_args()
+
+        if not xos_args.get("site",None):
+             raise Exception("Site name must be specified when creating user")
+
+        user = User(**xos_args)
+        user.save()
+
+        self.postprocess(user)
+
+        self.info("Created User '%s'" % (str(user), ))
+
+    def delete(self, obj):
+        if obj.slices.exists():
+            self.info("User %s has active slices; skipping delete" % obj.name)
+            return
+        super(XOSUser, self).delete(obj)
+
+
+
diff --git a/xos/tosca/samples/users.yaml b/xos/tosca/samples/users.yaml
new file mode 100644
index 0000000..20da611
--- /dev/null
+++ b/xos/tosca/samples/users.yaml
@@ -0,0 +1,39 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Make some network templates
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+    mysite:
+      type: tosca.nodes.Site
+
+    johndoe@foo.bar:
+      type: tosca.nodes.User
+      properties:
+          password: letmein
+          firstname: john
+          lastname: doe
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+
+    janedoe@foo.bar:
+      type: tosca.nodes.User
+      properties:
+          password: letmeintoo
+          firstname: jane
+          lastname: doe
+          phone: 111-222-3333
+          user_url: http://janedoe/
+          public_key: asdlfkjasldkfjasldkjfhaslkdjfhglaskdjfhlaksjdhfkasdfasdf
+          is_active: true
+          is_admin: true
+      requirements:
+          - site:
+              node: mysite
+              relationship: tosca.relationships.MemberOfSite
+
