diff --git a/xos/models.py b/xos/models.py
index 7acdc6e..4d1c0b3 100644
--- a/xos/models.py
+++ b/xos/models.py
@@ -12,14 +12,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from core.models.plcorebase import *
 from models_decl import VMMEService_decl
 from models_decl import VMMEVendor_decl
 from models_decl import VMMETenant_decl
 
 from django.db import models
-from core.models import Service, PlCoreBase, Slice, Instance, Tenant, TenantWithContainer, Node, Image, User, Flavor, NetworkParameter, NetworkParameterType, Port, AddressPool
-from core.models.plcorebase import StrippedCharField
+from core.models import Service, XOSBase, Slice, Instance, ServiceInstance, TenantWithContainer, Node, Image, User, Flavor, NetworkParameter, NetworkParameterType, Port, AddressPool
 import os
 from django.db import models, transaction
 from django.forms.models import model_to_dict
@@ -29,7 +27,6 @@
 from core.models.service import LeastLoadedNodeScheduler
 import traceback
 from xos.exceptions import *
-from xos.config import Config
 
 class VMMEService(VMMEService_decl):
    class Meta:
diff --git a/xos/tosca/resources/vmmetenant.py b/xos/tosca/resources/vmmetenant.py
index e1e9451..b1556c2 100644
--- a/xos/tosca/resources/vmmetenant.py
+++ b/xos/tosca/resources/vmmetenant.py
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 from xosresource import XOSResource
-from core.models import Tenant, Service
+from core.models import ServiceInstance, Service
 from services.vmme.models import VMMETenant
 
 class XOSVMMETenant(XOSResource):
diff --git a/xos/tosca/resources/vmmevendor.py b/xos/tosca/resources/vmmevendor.py
index 3997db7..9fed878 100644
--- a/xos/tosca/resources/vmmevendor.py
+++ b/xos/tosca/resources/vmmevendor.py
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 from xosresource import XOSResource
-from core.models import Tenant
+from core.models import ServiceInstance
 from services.vmme.models import VMMEVendor
 
 class XOSVMMEVendor(XOSResource):
@@ -27,7 +27,7 @@
 
         tenant_name = self.get_requirement("tosca.relationships.VendorOfTenant", throw_exception=throw_exception)
         if tenant_name:
-            args["provider_tenant"] = self.get_xos_object(Tenant, throw_exception=throw_exception, name=tenant_name)
+            args["provider_tenant"] = self.get_xos_object(ServiceInstance, throw_exception=throw_exception, name=tenant_name)
 
         return args
 
diff --git a/xos/vmme.xproto b/xos/vmme.xproto
index 7ebd4c6..6c173a5 100644
--- a/xos/vmme.xproto
+++ b/xos/vmme.xproto
@@ -9,7 +9,7 @@
     option verbose_name = "Virtual Mobility Management Entity Service";
 }
 
-message VMMEVendor (PlCoreBase){
+message VMMEVendor (XOSBase){
     option name = "VMMEVendor";
     option verbose_name = "Virtual Mobility Management Entity Vendor";
     required string name = 1 [help_text = "vendor name", max_length = 32, null = False, db_index = False, blank = False]; 
