diff --git a/planetstack/openstack/driver.py b/planetstack/openstack/driver.py
index 41a653d..5bb1eb2 100644
--- a/planetstack/openstack/driver.py
+++ b/planetstack/openstack/driver.py
@@ -160,12 +160,12 @@
         if router and subnet:
             self.shell.quantum.remove_interface_router(router_id, {'subnet_id': subnet_id})
  
-    def create_network(self, name):
+    def create_network(self, name, shared=False):
         nets = self.shell.quantum.list_networks(name=name)['networks']
         if nets: 
             net = nets[0]
         else:
-            net = self.shell.quantum.create_network({'network': {'name': name}})['network']
+            net = self.shell.quantum.create_network({'network': {'name': name, 'shared': shared}})['network']
         return net
  
     def delete_network(self, id):
diff --git a/planetstack/openstack/manager.py b/planetstack/openstack/manager.py
index e96e9f8..2fb4ff8 100644
--- a/planetstack/openstack/manager.py
+++ b/planetstack/openstack/manager.py
@@ -316,11 +316,7 @@
     @require_enabled
     def save_sliver(self, sliver):
         if not sliver.instance_id:
-            if (sliver.slice.name == "smbaker-slice-8") or (sliver.slice.name.startswith("smbaker-slice-net")):
-                # only inflict this pain on myself, for now...
-                nics = self.get_requested_networks(sliver.slice)
-            else:
-                nics = None
+            nics = self.get_requested_networks(sliver.slice)
             file("/tmp/scott-manager","a").write("slice: %s\nreq: %s\n" % (str(sliver.slice.name), str(nics)))
             slice_memberships = SliceMembership.objects.filter(slice=sliver.slice)
             pubkeys = [sm.user.public_key for sm in slice_memberships if sm.user.public_key]
@@ -420,7 +416,7 @@
                 network_name = network.name
 
                 # create network
-                os_network = self.driver.create_network(network_name)
+                os_network = self.driver.create_network(network_name, shared=True)
                 network.network_id = os_network['id']
 
                 # create router
