diff --git a/xos/models.py b/xos/models.py
index f8d4c16..ee6d362 100644
--- a/xos/models.py
+++ b/xos/models.py
@@ -1,5 +1,6 @@
 from core.models.plcorebase import *
 from models_decl import VSMService_decl
+from models_decl import VSMVendor_decl
 from models_decl import VSMTenant_decl
 
 from django.db import models
@@ -25,6 +26,10 @@
        t.save()
        return t
 
+class VSMVendor(VSMVendor_decl):
+   class Meta:
+        proxy = True
+
 class VSMTenant(VSMTenant_decl):
    class Meta:
         proxy = True 
@@ -36,6 +41,17 @@
                    "provider_service").default = vsmservice[0].id
        super(VSMTenant, self).__init__(*args, **kwargs)
 
+   @property
+   def image(self):
+       if not self.vsm_vendor:
+           return super(VSMTenant, self).image
+       return self.vsm_vendor.image
+   
+   def save_instance(self, instance):
+       if self.vsm_vendor:
+           instance.flavor = self.vsm_vendor.flavor
+       super(VSMTenant, self).save_instance(instance)
+
    def save(self, *args, **kwargs):
        if not self.creator:
            if not getattr(self, "caller", None):
