diff --git a/xos/attic/vtrtenant_model.py b/xos/attic/vtrtenant_model.py
new file mode 100644
index 0000000..6d3dba2
--- /dev/null
+++ b/xos/attic/vtrtenant_model.py
@@ -0,0 +1,14 @@
+sync_attributes = ( 'test', 'argument', "scope" )
+
+def __init__(self, *args, **kwargs):
+    vtr_services = VTRService.get_service_objects().all()
+    if vtr_services:
+        self._meta.get_field("provider_service").default = vtr_services[0].id
+    super(VTRTenant, self).__init__(*args, **kwargs)
+
+def save(self, *args, **kwargs):
+    super(VTRTenant, self).save(*args, **kwargs)
+
+def delete(self, *args, **kwargs):
+    super(VTRTenant, self).delete(*args, **kwargs)
+
