diff --git a/xos/tosca/resources/metronetservice.py b/xos/tosca/resources/metronetservice.py
index 372337f..37d1d7d 100644
--- a/xos/tosca/resources/metronetservice.py
+++ b/xos/tosca/resources/metronetservice.py
@@ -1,37 +1,28 @@
 from xosresource import XOSResource
 from service import XOSService
-from services.metronetwork.models import *
-
-class XOSMetroNetworkSystem(XOSResource):
-    provides = "tosca.nodes.MetroNetworkSystem"
-    xos_model = MetroNetworkSystem
-    copyin_props = ["name", "administrativeState", "restUrl"]
-
-class MetroNetworkDevice(XOSResource):
-    provides = "tosca.nodes.MetroNetworkDevice"
-    xos_model = NetworkDevice
-    copyin_props = ["id", "name", "administrativeState", "username", "password", "authType", "restCtrlUrl"]
-
-class VnodGlobalService(XOSService):
-    provides = "tosca.nodes.VNodGlobalService"
-    xos_model = VnodGlobalService
-    copyin_props = ["view_url", "icon_url", "enabled", "published", "public_key", "versionNumber"]
-
-    def get_xos_args(self):
-        args = super(VnodGlobalService, self).get_xos_args()
-
-        profile = self.get_requirement("tosca.relationships.UsesBandwidthProfile", throw_exception=False)
-        if profile:
-            profile = self.get_xos_object(BandwidthProfile, name=profile)
-            args["bandwidthProfile"] = profile
-        return args
-
-class XOSMetronetBandwithProficle(XOSResource):
-    provides = "tosca.nodes.EcordBandwidthProfile"
-    xos_model = BandwidthProfile
-    copyin_props = ['bwpcfgcbs','bwpcfgebs','bwpcfgcir','bwpcfgeir','name']
+from services.metronet.models import *
 
 class XOSMetronetUNI(XOSResource):
-    provides = "tosca.nodes.EcordUserNetworkInterface"
+    provides = "tosca.nodes.UserNetworkInterface"
     xos_model = UserNetworkInterface
-    copyin_props = ['enabled','capacity','bw_used','vlanIds', 'location', 'latlng', 'name']
\ No newline at end of file
+    copyin_props = ['tenant','vlanIds', 'cpe_id', 'latlng', 'name']
+
+class XOSMetronetEnterpriseLocation(XOSResource):
+    provides = "tosca.nodes.EnterpriseLocation"
+    xos_model = EnterpriseLocation
+    copyin_props = ['name', 'cord_site_ip', 'cord_site_port', 'cord_site_username', 'cord_site_password', 'cord_site_type']
+
+class XOSMetronetOnosModel(XOSResource):
+    provides = "tosca.nodes.OnosModel"
+    xos_model = OnosModel
+    copyin_props = ['name', 'onos_ip', 'onos_port', 'onos_username', 'onos_password', 'onos_type']
+
+class XOSMetronetBandwithProfile(XOSResource):
+    provides = "tosca.nodes.BandwidthProfile"
+    xos_model = BandwidthProfile
+    copyin_props = ['cbs', 'ebs', 'cir', 'eir', 'name']
+
+class XOSMetronetELine(XOSResource):
+    provides = "tosca.nodes.ELine"
+    xos_model = ELine
+    copyin_props = ['name', 'connect_point_1_id', 'connect_point_2_id', 'vlanids', 'cord_site_name', 'bwp']
\ No newline at end of file
