diff --git a/planetstack/core/xoslib/static/js/test.js b/planetstack/core/xoslib/static/js/test.js
index 86de742..76d131c 100644
--- a/planetstack/core/xoslib/static/js/test.js
+++ b/planetstack/core/xoslib/static/js/test.js
@@ -53,9 +53,9 @@
 
      for (var index in objs) {
          name = objs[index];
-         tr_template = '#test-' + name + '-listitem-template';
-         table_template = '#test-' + name + '-list-template';
-         detail_template = '#test-' + name + '-detail-template';
+         tr_template = '#xosAdmin-' + name + '-listitem-template';
+         table_template = '#xosAdmin-' + name + '-list-template';
+         detail_template = '#xosAdmin-' + name + '-detail-template';
          collection_name = name + "s";
          region_name = name + "List";
 
@@ -144,6 +144,9 @@
                  // that we want to display.
                  for (i in this.collection.foreignCollections) {
                      foreignName = this.collection.foreignCollections[i];
+                     if (xos[foreignName] == undefined) {
+                         console.log("Failed to find xos class " + foreignName);
+                     }
                      this.listenTo(xos[foreignName], 'change', this._renderChildren);
                      this.listenTo(xos[foreignName], 'sort', this._renderChildren);
                  }
@@ -169,6 +172,6 @@
 });
 
 $(document).ready(function(){
-  TestApp.start();
+    TestApp.start();
 });
 
diff --git a/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js b/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js
index 7533078..87660df 100644
--- a/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js
+++ b/planetstack/core/xoslib/static/js/xoslib/xos-backbone.js
@@ -244,7 +244,7 @@
 
         this.network = XOSModel.extend({ urlRoot: NETWORK_API });
         this.networkCollection = XOSCollection.extend({ urlRoot: NETWORK_API,
-                                                           foreignCollections: ["slivers", "networkTemplates"],
+                                                           foreignCollections: ["slices", "networkTemplates"],
                                                            model: this.network});
         this.networks = new this.networkCollection();
 
