diff --git a/planetstack/core/dashboard/views/analytics.unused b/planetstack/core/dashboard/views/analytics.unused
index 8ccb7c5..8661cf4 100644
--- a/planetstack/core/dashboard/views/analytics.unused
+++ b/planetstack/core/dashboard/views/analytics.unused
@@ -1,13 +1,13 @@
 from view_common import *
 import random
-from planetstack_analytics import DoPlanetStackAnalytics
+from xos_analytics import DoXOSAnalytics
 
 class DashboardAnalyticsAjaxView(View):
     url = r'^analytics/(?P<name>\w+)/$'
 
     def get(self, request, name="hello_world", **kwargs):
         if (name == "bigquery"):
-            (mimetype, data) = DoPlanetStackAnalytics(request)
+            (mimetype, data) = DoXOSAnalytics(request)
             return HttpResponse(data, content_type=mimetype)
         else:
             return HttpResponse(json.dumps("Unknown"), content_type='application/javascript')
diff --git a/planetstack/core/dashboard/views/cdn.unused b/planetstack/core/dashboard/views/cdn.unused
index 6bfaac9..9fff1e5 100644
--- a/planetstack/core/dashboard/views/cdn.unused
+++ b/planetstack/core/dashboard/views/cdn.unused
@@ -1,5 +1,5 @@
 from view_common import *
-from planetstack_analytics import DoPlanetStackAnalytics, PlanetStackAnalytics, RED_LOAD, BLUE_LOAD
+from xos_analytics import XOSAnalytics, RED_LOAD, BLUE_LOAD
 
 def getCDNContentProviderData():
     cps = []
@@ -13,7 +13,7 @@
 def getCDNOperatorData(randomizeData = False, wait=True):
     HPC_SLICE_NAME = "HyperCache"
 
-    bq = PlanetStackAnalytics()
+    bq = XOSAnalytics()
 
     rows = bq.get_cached_query_results(bq.compose_cached_query(), wait)
 
diff --git a/planetstack/core/dashboard/views/tenant.py b/planetstack/core/dashboard/views/tenant.py
index 5a45033..5012087 100644
--- a/planetstack/core/dashboard/views/tenant.py
+++ b/planetstack/core/dashboard/views/tenant.py
@@ -348,7 +348,7 @@
     """ Add or remove slivers from a Slice
 
         Arguments:
-            siteName - name of site. If not specified, PlanetStack will pick the
+            siteName - name of site. If not specified, XOS will pick the
                        best site.,
             actionToDo - [add | rem]
             count - number of slivers to add or remove
diff --git a/planetstack/hpc_wizard/planetstack_analytics.py b/planetstack/hpc_wizard/xos_analytics.py
similarity index 98%
rename from planetstack/hpc_wizard/planetstack_analytics.py
rename to planetstack/hpc_wizard/xos_analytics.py
index 2728f27..a95d3ae 100644
--- a/planetstack/hpc_wizard/planetstack_analytics.py
+++ b/planetstack/hpc_wizard/xos_analytics.py
@@ -22,7 +22,7 @@
 
 glo_cached_queries = {}
 
-class PlanetStackAnalytics(BigQueryAnalytics):
+class XOSAnalytics(BigQueryAnalytics):
     def __init__(self, tableName=None):
         if not tableName:
             tableName = settings.BIGQUERY_TABLE
@@ -421,14 +421,14 @@
 
             return self.format_result(format, result, q, dataSourceUrl)
 
-def DoPlanetStackAnalytics(request):
-    bq = PlanetStackAnalytics()
+def DoXOSAnalytics(request):
+    bq = XOSAnalytics()
     result = bq.process_request(request)
 
     return result
 
 def main():
-    bq = PlanetStackAnalytics(tableName="demoevents")
+    bq = XOSAnalytics(tableName="demoevents")
 
     q = bq.compose_cached_query()
     results = bq.run_query(q)
