diff --git a/opencloud.spec b/opencloud.spec
index dc2c91a..6d79ed5 100644
--- a/opencloud.spec
+++ b/opencloud.spec
@@ -1,7 +1,7 @@
 Summary: OpenCloud core services
 Name: opencloud
-Version: 1.0.27
-Release: 3
+Version: 1.0.28
+Release: 2
 License: GPL+
 Group: Development/Tools
 Source0: %{_tmppath}/%{name}-%{version}.tar.gz
diff --git a/planetstack/core/models/plcorebase.py b/planetstack/core/models/plcorebase.py
index e483a79..612e925 100644
--- a/planetstack/core/models/plcorebase.py
+++ b/planetstack/core/models/plcorebase.py
@@ -7,6 +7,7 @@
 from django.utils import timezone
 from django.core.exceptions import PermissionDenied
 import model_policy
+from model_autodeletion import ephemeral_models
 
 try:
     # This is a no-op if observer_disabled is set to 1 in the config file
@@ -201,6 +202,10 @@
         # filtering of visible objects by user.
         return cls.objects.all()
 
+    @classmethod
+    def is_ephemeral(cls):
+	return cls in ephemeral_models
+
 
 
 
diff --git a/planetstack/core/models/slice.py b/planetstack/core/models/slice.py
index d438bdf..24d02aa 100644
--- a/planetstack/core/models/slice.py
+++ b/planetstack/core/models/slice.py
@@ -92,7 +92,15 @@
         from core.models.network import Network
         nets = Network.objects.filter(slices=self)
         nets.delete() 
+        # delete slice deployments
+        slice_deployments = SliceDeployments.objects.filter(slice=self)
+        slice_deployments.delete()
+        # delete slice privilege
+        slice_privileges = SlicePrivilege.objects.filter(slice=self)
+        slice_privileges.delete() 
+        # continue with normal delete
         super(SliceAdmin, self).delete(*args, **kwds) 
+         
 
 class SliceRole(PlCoreBase):
     ROLE_CHOICES = (('admin','Admin'),('default','Default'))
diff --git a/planetstack/dependency_walker.py b/planetstack/dependency_walker.py
index ca1959e..93e1847 100755
--- a/planetstack/dependency_walker.py
+++ b/planetstack/dependency_walker.py
@@ -79,6 +79,7 @@
 
 			for o in peer_objects:
 				fn(o, object)
+				# Uncomment the following line to enable recursion
 				# walk_inv_deps(fn, o)
 
 def p(x):
diff --git a/planetstack/model_policies/model_policy_Slice.py b/planetstack/model_policies/model_policy_Slice.py
index 7523e3e..7b436b4 100644
--- a/planetstack/model_policies/model_policy_Slice.py
+++ b/planetstack/model_policies/model_policy_Slice.py
@@ -35,13 +35,13 @@
 			private_net = network
 	if not public_nets:
                 # ensure there is at least one public network, and default it to dedicated
-		dedicated_public_net = Network(
-          	    name = slice.name+'-public',
-             	    template = NetworkTemplate.objects.get(name='Public dedicated IPv4'),
+		nat_net = Network(
+          	    name = slice.name+'-nat',
+             	    template = NetworkTemplate.objects.get(name='Public shared IPv4'),
           	    owner = slice
       		    )
-		dedicated_public_net.save()
-                public_nets.append(dedicated_public_net)
+		nat_net.save()
+                public_nets.append(nat_net)
 
 	if not private_net:
         	private_net = Network(
diff --git a/planetstack/openstack_observer/steps/sync_networks.py b/planetstack/openstack_observer/steps/sync_networks.py
index 5174fe6..99f2c01 100644
--- a/planetstack/openstack_observer/steps/sync_networks.py
+++ b/planetstack/openstack_observer/steps/sync_networks.py
@@ -21,6 +21,6 @@
         for network_deployment in NetworkDeployments.objects.filter(network=network):
             try:
                 network_deployment_deleter(network_deployment)    
-            except Exeption,e:
+            except Exception,e:
                 logger.log_exc("Failed to delete network deployment %s" % network_deployment)
                 raise e
