diff --git a/planetstack/ec2_observer/backend.py b/planetstack/ec2_observer/backend.py
index a26aeae..1a2545d 100644
--- a/planetstack/ec2_observer/backend.py
+++ b/planetstack/ec2_observer/backend.py
@@ -1,6 +1,6 @@
 import threading
 import time
-from ec2_observer.event_loop import PlanetStackObserver
+from ec2_observer.event_loop import XOSObserver
 from ec2_observer.event_manager import EventListener
 from util.logger import Logger, logging
 
@@ -10,7 +10,7 @@
     
     def run(self):
         # start the openstack observer
-        observer = PlanetStackObserver()
+        observer = XOSObserver()
         observer_thread = threading.Thread(target=observer.run)
         observer_thread.start()
         
diff --git a/planetstack/ec2_observer/deleter.py b/planetstack/ec2_observer/deleter.py
index f7d459d..93fa572 100644
--- a/planetstack/ec2_observer/deleter.py
+++ b/planetstack/ec2_observer/deleter.py
@@ -9,7 +9,7 @@
                 pass
 
 	def call(self, pk, model_dict):
-		# Fetch object from PlanetStack db and delete it
+		# Fetch object from XOS db and delete it
 		pass
 
 	def __call__(self, *args, **kwargs):
diff --git a/planetstack/ec2_observer/ec2_backend.py b/planetstack/ec2_observer/ec2_backend.py
index 5a00e71..a26ddfd 100644
--- a/planetstack/ec2_observer/ec2_backend.py
+++ b/planetstack/ec2_observer/ec2_backend.py
@@ -1,6 +1,6 @@
 import threading
 import time
-from ec2_observer.event_loop import PlanetStackObserver
+from ec2_observer.event_loop import XOSObserver
 from ec2_observer.event_manager import EventListener
 from util.logger import Logger, logging
 
@@ -11,7 +11,7 @@
     def run(self):
         try:
             # start the openstack observer
-            observer = PlanetStackObserver()
+            observer = XOSObserver()
             observer_thread = threading.Thread(target=observer.run)
             observer_thread.start()
             
diff --git a/planetstack/ec2_observer/event_loop.py b/planetstack/ec2_observer/event_loop.py
index fea2e3e..bdbbab0 100644
--- a/planetstack/ec2_observer/event_loop.py
+++ b/planetstack/ec2_observer/event_loop.py
@@ -48,7 +48,7 @@
 				ig=[k]
 	return ig
 
-class PlanetStackObserver:
+class XOSObserver:
 	#sync_steps = [SyncNetworks,SyncNetworkSlivers,SyncSites,SyncSitePrivilege,SyncSlices,SyncSliceMemberships,SyncSlivers,SyncSliverIps,SyncExternalRoutes,SyncUsers,SyncRoles,SyncNodes,SyncImages,GarbageCollector]
 	sync_steps = []
 
diff --git a/planetstack/ec2_observer/syncstep.py b/planetstack/ec2_observer/syncstep.py
index c6ed066..3a0e918 100644
--- a/planetstack/ec2_observer/syncstep.py
+++ b/planetstack/ec2_observer/syncstep.py
@@ -11,7 +11,7 @@
     pass
 
 class SyncStep:
-    """ A PlanetStack Sync step. 
+    """ A XOS Sync step. 
 
     Attributes:
         psmodel        Model name the step synchronizes 
@@ -22,7 +22,7 @@
         try:
             sync_config_dir = Config().sync_config_dir
         except:
-            sync_config_dir = '/etc/planetstack/sync'
+            sync_config_dir = '/etc/planetstack/sync'    # XXX TODO: update path
         prop_config_path = '/'.join(sync_config_dir,self.name,prop)
         return open(prop_config_path).read().rstrip()
 
@@ -30,7 +30,7 @@
         """Initialize a sync step
            Keyword arguments:
                    name -- Name of the step
-                provides -- PlanetStack models sync'd by this step
+                provides -- XOS models sync'd by this step
         """
         dependencies = []
         self.driver = args.get('driver')
diff --git a/planetstack/ec2_observer/toposort.py b/planetstack/ec2_observer/toposort.py
index 16469b4..c0ec779 100644
--- a/planetstack/ec2_observer/toposort.py
+++ b/planetstack/ec2_observer/toposort.py
@@ -89,7 +89,7 @@
 	return order + noorder
 
 def main():
-	graph_file=open('planetstack.deps').read()
+	graph_file=open('xos.deps').read()
 	g = json.loads(graph_file)
 	print toposort(g)
 
