diff --git a/xos/attic/header.py b/xos/attic/header.py
new file mode 100644
index 0000000..deadcaf
--- /dev/null
+++ b/xos/attic/header.py
@@ -0,0 +1,13 @@
+from django.db import models
+from core.models import Service, PlCoreBase, Slice, Instance, Tenant, TenantWithContainer, Node, Image, User, Flavor
+from core.models.plcorebase import StrippedCharField
+import os
+from django.db import models, transaction
+from django.forms.models import model_to_dict
+from django.db.models import *
+from operator import itemgetter, attrgetter, methodcaller
+import traceback
+from xos.exceptions import *
+from core.models import SlicePrivilege, SitePrivilege
+from sets import Set
+
diff --git a/xos/attic/onosapp_model.py b/xos/attic/onosapp_model.py
new file mode 100644
index 0000000..5366952
--- /dev/null
+++ b/xos/attic/onosapp_model.py
@@ -0,0 +1,17 @@
+def __init__(self, *args, **kwargs):
+    onos_services = ONOSService.get_service_objects().all()
+    if onos_services:
+        self._meta.get_field("provider_service").default = onos_services[0].id
+    super(ONOSApp, self).__init__(*args, **kwargs)
+
+def save(self, *args, **kwargs):
+    if not self.creator:
+        if not getattr(self, "caller", None):
+            # caller must be set when creating a vCPE since it creates a slice
+            raise XOSProgrammingError("ONOSApp's self.caller was not set")
+        self.creator = self.caller
+        if not self.creator:
+            raise XOSProgrammingError("ONOSApp's self.creator was not set")
+
+    super(ONOSApp, self).save(*args, **kwargs)
+
