diff --git a/xos/core/models/network.py b/xos/core/models/network.py
index b5269ad..af3aa0a 100644
--- a/xos/core/models/network.py
+++ b/xos/core/models/network.py
@@ -202,12 +202,14 @@
     # Stores the openstack ids at various controllers
     network = models.ForeignKey(Network, related_name='controllernetworks')
     controller = models.ForeignKey(Controller, related_name='controllernetworks')
-    net_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum network")
-    router_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum router id")
-    subnet_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum subnet id")
     subnet = models.CharField(max_length=32, blank=True)
     start_ip = models.CharField(max_length=32, blank=True)
     stop_ip = models.CharField(max_length=32, blank=True)
+    net_id = models.CharField(null=True, blank=True, max_length=256, help_text="Neutron network") # feedback state
+    router_id = models.CharField(null=True, blank=True, max_length=256, help_text="Neutron router id") # feedback state
+    subnet_id = models.CharField(null=True, blank=True, max_length=256, help_text="Neutron subnet id") # feedback state
+    gateway = models.CharField(max_length=32, blank=True, null=True) # feedback state
+    segmentation_id = models.CharField(max_length=32, blank=True, null=True) # feedback state
 
     class Meta:
         unique_together = ('network', 'controller')
diff --git a/xos/synchronizers/base/syncstep.py b/xos/synchronizers/base/syncstep.py
index eeb61db..d1109e6 100644
--- a/xos/synchronizers/base/syncstep.py
+++ b/xos/synchronizers/base/syncstep.py
@@ -162,11 +162,9 @@
         path = ''.join(main_objs.__name__).lower()
         res = run_template(self.playbook,tenant_fields,path=path)
 
-        try:
+        if hasattr(self, "map_sync_outputs"):
             self.map_sync_outputs(o,res)
-        except AttributeError:
-            pass
-         
+
     def delete_record(self, o):
         try:
             controller = o.get_controller()
