diff --git a/planetstack/core/models/__init__.py b/planetstack/core/models/__init__.py
index 4f8bd85..4e6cc83 100644
--- a/planetstack/core/models/__init__.py
+++ b/planetstack/core/models/__init__.py
@@ -1,5 +1,6 @@
 from .plcorebase import PlCoreBase
 from .deployment import Deployment
+from .tag import Tag
 from .site import Site
 from .site import SitePrivilege
 from .image import Image
diff --git a/planetstack/core/models/node.py b/planetstack/core/models/node.py
index fcc3a6a..0781609 100644
--- a/planetstack/core/models/node.py
+++ b/planetstack/core/models/node.py
@@ -3,6 +3,8 @@
 from core.models import PlCoreBase
 from core.models import Site
 from core.models import Deployment
+from core.models import Tag
+from django.contrib.contenttypes import generic
 
 # Create your models here.
 
@@ -10,5 +12,6 @@
     name = models.CharField(max_length=200, unique=True, help_text="Name of the Node")
     site  = models.ForeignKey(Site, related_name='nodes')
     deployment = models.ForeignKey(Deployment, related_name='nodes')
+    tags = generic.GenericRelation(Tag)
 
     def __unicode__(self):  return u'%s' % (self.name)
diff --git a/planetstack/core/models/site.py b/planetstack/core/models/site.py
index 53a1a6c..5c84d1b 100644
--- a/planetstack/core/models/site.py
+++ b/planetstack/core/models/site.py
@@ -2,6 +2,8 @@
 from django.db import models
 from core.models import PlCoreBase
 from core.models import Deployment
+from core.models import Tag
+from django.contrib.contenttypes import generic
 
 class Site(PlCoreBase):
 
@@ -16,6 +18,7 @@
     abbreviated_name = models.CharField(max_length=80)
 
     deployments = models.ManyToManyField(Deployment, blank=True, related_name='sites')
+    tags = generic.GenericRelation(Tag)
 
     def __unicode__(self):  return u'%s' % (self.name)
 
diff --git a/planetstack/core/models/slice.py b/planetstack/core/models/slice.py
index 63754e4..74815b2 100644
--- a/planetstack/core/models/slice.py
+++ b/planetstack/core/models/slice.py
@@ -6,6 +6,8 @@
 from core.models import Role
 from core.models import Deployment
 from core.models import ServiceClass
+from core.models import Tag
+from django.contrib.contenttypes import generic
 
 # Create your models here.
 
@@ -21,6 +23,8 @@
     router_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum router id")
     subnet_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum subnet id")
 
+    tags = generic.GenericRelation(Tag)
+
     serviceClass = models.ForeignKey(ServiceClass, related_name = "slices", null=True, default=ServiceClass.get_default)
     creator = models.ForeignKey(User, related_name='slices', blank=True, null=True)
 
diff --git a/planetstack/core/models/slicetag.py b/planetstack/core/models/slicetag.py
index 38343b3..76cc669 100644
--- a/planetstack/core/models/slicetag.py
+++ b/planetstack/core/models/slicetag.py
@@ -4,7 +4,7 @@
 from core.models import Slice
 
 class SliceTag(PlCoreBase):
-    slice = models.ForeignKey(Slice, related_name='tags')
+    slice = models.ForeignKey(Slice, related_name='slicetags')
 
     NAME_CHOICES = (('privatekey', 'Private Key'), ('publickey', 'Public Key'))
     name = models.CharField(help_text="The name of this tag", max_length=30, choices=NAME_CHOICES)
diff --git a/planetstack/core/models/sliver.py b/planetstack/core/models/sliver.py
index 13eb353..44a6af1 100644
--- a/planetstack/core/models/sliver.py
+++ b/planetstack/core/models/sliver.py
@@ -8,6 +8,8 @@
 from core.models import Site
 from core.models import Deployment
 from core.models import User
+from core.models import Tag
+from django.contrib.contenttypes import generic
 
 # Create your models here.
 class Sliver(PlCoreBase):
@@ -22,7 +24,7 @@
     node = models.ForeignKey(Node, related_name='slivers')
     deploymentNetwork = models.ForeignKey(Deployment, verbose_name='deployment', related_name='sliver_deploymentNetwork')
     numberCores = models.IntegerField(verbose_name="Number of Cores", help_text="Number of cores for sliver", default=0)
-
+    tags = generic.GenericRelation(Tag)
 
     def __unicode__(self):  return u'%s' % (self.instance_name)
 
diff --git a/planetstack/core/models/tag.py b/planetstack/core/models/tag.py
new file mode 100644
index 0000000..786b036
--- /dev/null
+++ b/planetstack/core/models/tag.py
@@ -0,0 +1,21 @@
+import os
+from django.db import models
+from core.models import PlCoreBase
+from django.contrib.contenttypes.models import ContentType
+from django.contrib.contenttypes import generic
+
+# Create your models here.
+
+class Tag(PlCoreBase):
+
+    name = models.SlugField(help_text="The name of this tag", max_length=128)
+    value = models.CharField(help_text="The value of this tag", max_length=1024)
+
+    # The required fields to do a ObjectType lookup, and object_id assignment
+    content_type = models.ForeignKey(ContentType)
+    object_id = models.PositiveIntegerField()
+    content_object = generic.GenericForeignKey('content_type', 'object_id')
+
+    def __unicode__(self):
+        return self.name
+
