diff --git a/plstackapi/core/admin.py b/plstackapi/core/admin.py
index 904b566..4bb9a98 100644
--- a/plstackapi/core/admin.py
+++ b/plstackapi/core/admin.py
@@ -32,7 +32,7 @@
 
 class SliverInline(admin.TabularInline):
     model = Sliver
-    fields = ['ip', 'name', 'slice', 'image', 'key', 'node', 'deploymentNetwork']
+    fields = ['ip', 'name', 'slice', 'numberCores', 'image', 'key', 'node', 'deploymentNetwork']
     extra = 0
 
 class SiteInline(admin.TabularInline):
@@ -196,8 +196,8 @@
         
 
 class SliceAdmin(OSModelAdmin):
-    fields = ['name', 'site', 'instantiation', 'description', 'slice_url']
-    list_display = ('name', 'site','slice_url', 'instantiation')
+    fields = ['name', 'site', 'serviceClass', 'instantiation', 'description', 'slice_url']
+    list_display = ('name', 'site','serviceClass', 'slice_url', 'instantiation')
     inlines = [SliverInline]
 
     def get_formsets(self, request, obj=None):
@@ -275,9 +275,9 @@
 class SliverAdmin(PlanetStackBaseAdmin):
     form = SliverForm
     fieldsets = [
-        ('Sliver', {'fields': ['ip', 'name', 'slice', 'image', 'key', 'node', 'deploymentNetwork']})
+        ('Sliver', {'fields': ['ip', 'name', 'slice', 'numberCores', 'image', 'key', 'node', 'deploymentNetwork']})
     ]
-    list_display = ['ip', 'name', 'slice', 'image', 'key', 'node', 'deploymentNetwork']
+    list_display = ['ip', 'name', 'slice', 'numberCores', 'image', 'key', 'node', 'deploymentNetwork']
 
     def save_model(self, request, obj, form, change):
         # update openstack connection to use this sliver's slice/tenant
diff --git a/plstackapi/core/models/slice.py b/plstackapi/core/models/slice.py
index 5a5f165..16a2c27 100644
--- a/plstackapi/core/models/slice.py
+++ b/plstackapi/core/models/slice.py
@@ -21,6 +21,10 @@
     network_id = models.CharField(max_length=256, help_text="Quantum network")
     router_id = models.CharField(max_length=256, help_text="Quantum router id")
 
+    SVC_CLASS_CHOICES = (('besteffort', 'Best Effort'), ('silver', 'Silver'), ('gold','Gold'))
+    serviceClass = models.CharField(verbose_name="Service Class",default="besteffort",help_text="The Service Class of this slice", max_length=30, choices=SVC_CLASS_CHOICES)
+
+
     def __unicode__(self):  return u'%s' % (self.name)
 
     def save(self, *args, **kwds):
diff --git a/plstackapi/core/models/sliver.py b/plstackapi/core/models/sliver.py
index ba308f5..a4bf2c0 100644
--- a/plstackapi/core/models/sliver.py
+++ b/plstackapi/core/models/sliver.py
@@ -20,6 +20,8 @@
     slice = models.ForeignKey(Slice, related_name='slivers')
     node = models.ForeignKey(Node, related_name='slivers')
     deploymentNetwork = models.ForeignKey(DeploymentNetwork, verbose_name='deployment', related_name='sliver_deploymentNetwork')
+    numberCores = models.IntegerField(verbose_name="Number of Cores", help_text="Number of cores for sliver", default=2)
+
 
     def __unicode__(self):  return u'%s::%s' % (self.slice, self.deploymentNetwork)
 
