diff --git a/xos/hpc/admin.py b/xos/hpc/admin.py
index c419a12..8333903 100644
--- a/xos/hpc/admin.py
+++ b/xos/hpc/admin.py
@@ -18,7 +18,7 @@
     verbose_name_plural = "HPC Service"
     list_display = ("backend_status_icon", "name","enabled")
     list_display_links = ('backend_status_icon', 'name', )
-    fieldsets = [(None, {'fields': ['backend_status_text', 'name','enabled','versionNumber', 'description'], 'classes':['suit-tab suit-tab-general']})]
+    fieldsets = [(None, {'fields': ['backend_status_text', 'name','enabled','versionNumber', 'description', "cmi_url"], 'classes':['suit-tab suit-tab-general']})]
     readonly_fields = ('backend_status_text', )
     inlines = [SliceInline,ServiceAttrAsTabInline]
 
@@ -92,7 +92,7 @@
     list_display = ('backend_status_icon', 'name', 'description', 'enabled')
     list_display_links = ('backend_status_icon', 'name', )
     fieldsets = [
-        (None, {'fields': ['backend_status_text', 'name','description','enabled'], 'classes':['suit-tab suit-tab-general']})]
+        (None, {'fields': ['backend_status_text', 'name','description','enabled', 'hpcService'], 'classes':['suit-tab suit-tab-general']})]
 #, ('Content Providers', {'fields':['contentProviders'],'classes':['suit-tab suit-tab-cps']})]
 
     readonly_fields = ('backend_status_text', )
@@ -121,6 +121,7 @@
     verbose_name_plural = "Site Map"
     list_display = ("backend_status_icon", "name", "contentProvider", "serviceProvider")
     list_display_links = ('backend_status_icon', 'name', )
+    fields = ['backend_status_text', 'name', 'hpcService', 'contentProvider', 'serviceProvider', 'map', 'map_id']
     user_readonly_fields = ('backend_status_text', "name", "contentProvider", "serviceProvider", "description", "map")
     readonly_fields = ('backend_status_text', )
 
diff --git a/xos/hpc/models.py b/xos/hpc/models.py
index 8fc1885..30bbd49 100644
--- a/xos/hpc/models.py
+++ b/xos/hpc/models.py
@@ -7,16 +7,19 @@
 
 # Create your models here.
 
-class HpcService(SingletonModel,Service):
+class HpcService(Service):
 
     class Meta:
         app_label = "hpc"
         verbose_name = "HPC Service"
 
+    cmi_url = models.URLField(null=True, blank=True)
+
 class ServiceProvider(PlCoreBase):
     class Meta:
         app_label = "hpc"
 
+    hpcService = models.ForeignKey(HpcService, null=True, blank=True)
     service_provider_id = models.IntegerField(null=True, blank=True)
     name = models.CharField(max_length=254,help_text="Service Provider Name")
     description = models.TextField(max_length=254,null=True, blank=True, help_text="Description of Service Provider")
@@ -97,6 +100,7 @@
     contentProvider = models.ForeignKey(ContentProvider, blank=True, null=True)
     serviceProvider = models.ForeignKey(ServiceProvider, blank=True, null=True)
     cdnPrefix = models.ForeignKey(CDNPrefix, blank = True, null=True)
+    hpcService = models.ForeignKey(HpcService, blank = True, null=True)
     name = models.CharField(max_length=64, help_text="Name of the Site Map")
     description = models.TextField(null=True, blank=True,max_length=130)
     map = models.FileField(upload_to="maps/", help_text="specifies how to map requests to hpc instances")
@@ -105,9 +109,11 @@
     def __unicode__(self):  return self.name
 
     def save(self, *args, **kwds):
-        if (self.contentProvider) and (self.serviceProvider or self.cdnPrefix):
-            raise ValueError("You may only set one of contentProvider, serviceProvider, or cdnPrefix")
-        if (self.serviceProvider) and (self.cdnPrefix):
-            raise ValueError("You may only set one of contentProvider, serviceProvider, or cdnPrefix")
+        if (self.contentProvider) and (self.serviceProvider or self.cdnPrefix or self.hpcService):
+            raise ValueError("You may only set one of contentProvider, serviceProvider, cdnPrefix, or hpcService")
+        if (self.serviceProvider) and (self.cdnPrefix or self.hpcService):
+            raise ValueError("You may only set one of contentProvider, serviceProvider, cdnPrefix, or hpcService")
+        if (self.cdnPrefix) and (self.hpcService):
+            raise ValueError("You may only set one of contentProvider, serviceProvider, cdnPrefix, or hpcService")
 
         super(SiteMap, self).save(*args, **kwds)
