diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..04f0c92
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,7 @@
+[gerrit]
+host=gerrit.opencord.org
+port=29418
+project=metronet-local.git
+defaultremote=origin
+defaultbranch=master
+
diff --git a/xos/synchronizer/pseudowireproviders/metronetworkpseudowireprovider.py b/xos/synchronizer/pseudowireproviders/metronetworkpseudowireprovider.py
index f2762e2..8d4fffd 100644
--- a/xos/synchronizer/pseudowireproviders/metronetworkpseudowireprovider.py
+++ b/xos/synchronizer/pseudowireproviders/metronetworkpseudowireprovider.py
@@ -16,7 +16,7 @@
     def create(self, port1, port2, vlanid, psuedowireservice):
         # Create method - create eline with the ports
         # Vlan is TBD
-        pseudowirename = ("port1: %s, port2: %s, vlan: %s" % (port1, port2, vlanid))
+        pseudowirename = ("Vlan: %s" % vlanid)
         logger.info("Metronetwork create called, name: %s" % pseudowirename )
         # Edge to Edge Point Connectivity creation
         edgetoedgeconnectivity = NetworkEdgeToEdgePointConnection()
@@ -32,8 +32,7 @@
         edgetoedgeconnectivity.type = 'Point_To_Point'
         edgetoedgeconnectivity.operstate = 'inactive'
         edgetoedgeconnectivity.adminstate = 'disabled'
-        edgetoedgeconnectivity.sid = pseudowirename
-        edgetoedgeconnectivity.name = 'Metronetwork'
+        edgetoedgeconnectivity.name = pseudowirename
         edgetoedgeconnectivity.save()
         return pseudowirename
 
@@ -42,7 +41,7 @@
     def connect(self, handle):
         # Connect method - simply transition the state of the underlying object - the Metronet sync will do the rest
         logger.info("Metronetwork Pseudowire connect called, handle = %s" % handle)
-        edgetoedgeconnectivity = NetworkEdgeToEdgePointConnection.objects.get(sid=handle)
+        edgetoedgeconnectivity = NetworkEdgeToEdgePointConnection.objects.get(name=handle)
         edgetoedgeconnectivity.adminstate = 'activationrequested'
         edgetoedgeconnectivity.save()
 
@@ -51,7 +50,7 @@
     def disconnect(self, handle):
         # Connect method - simply transition the state of the underlying object - the Metronet sync will do the rest
         logger.info("Metronetwork Pseudowire disconnect called, handle = %s" % handle)
-        edgetoedgeconnectivity = NetworkEdgeToEdgePointConnection.objects.get(sid=handle)
+        edgetoedgeconnectivity = NetworkEdgeToEdgePointConnection.objects.get(name=handle)
         edgetoedgeconnectivity.adminstate = 'deactivationrequested'
         edgetoedgeconnectivity.save()
 
@@ -60,7 +59,7 @@
     def delete(self, handle):
         # Delete method - simply set the state to deleted and the Metronet sync will do the rest
         logger.info("Metronetwork Pseudowire delete called, handle = %s" % handle)
-        edgetoedgeconnectivity = NetworkEdgeToEdgePointConnection.objects.get(sid=handle)
+        edgetoedgeconnectivity = NetworkEdgeToEdgePointConnection.objects.get(name=handle)
         edgetoedgeconnectivity.deleted = True
         edgetoedgeconnectivity.save()
 
