diff --git a/plstackapi/core/models/slice.py b/plstackapi/core/models/slice.py
index a18a09e..b080924 100644
--- a/plstackapi/core/models/slice.py
+++ b/plstackapi/core/models/slice.py
@@ -10,7 +10,7 @@
 # Create your models here.
 
 class Slice(PlCoreBase):
-    tenant_id = models.CharField(max_length=200, help_text="Keystone tenant id")
+    tenant_id = models.CharField(max_length=200, help_text="Keystone tenant id", blank=True)
     name = models.CharField(unique=True, help_text="The Name of the Slice", max_length=80)
     enabled = models.BooleanField(default=True, help_text="Status for this Slice")
     SLICE_CHOICES = (('plc', 'PLC'), ('delegated', 'Delegated'), ('controller','Controller'), ('none','None'))
@@ -24,6 +24,35 @@
 
     def __unicode__(self):  return u'%s' % (self.name)
 
+    def save(self, *args, **kwds):
+
+        driver = OpenStackDriver()
+        if not self.tenant_id:
+            nova_fields = {'tenant_name': self.name,
+                   'description': self.description,
+                   'enabled': self.enabled}
+            tenant = driver.create_tenant(**nova_fields)
+            self.tenant_id = tenant.id
+
+            # create network
+            network = driver.create_network(self.name)
+            self.network_id = network['id']
+
+            # create router
+            router = driver.create_router(self.name)
+            self.router_id = router['id']
+
+        super(Slice, self).save(*args, **kwds)
+
+    def delete(self, *args, **kwds):
+        driver = OpenStackDriver()
+        if self.tenant_id:
+            driver.delete_router(self.router_id)
+            driver.delete_network(self.network_id)
+            driver.delete_tenant(self.tenant_id)
+
+        super(Slice, self).delete(*args, **kwds)    
+
 class SliceMembership(PlCoreBase):
     user = models.ForeignKey('User', related_name='slice_memberships')
     slice = models.ForeignKey('Slice', related_name='slice_memberships')
