diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index 402ea7f..a201914 100644
--- a/Dockerfile.synchronizer
+++ b/Dockerfile.synchronizer
@@ -14,7 +14,7 @@
 
 # xosproject/exampleservice-synchronizer
 
-FROM xosproject/xos-synchronizer-base:2.1.9
+FROM xosproject/xos-synchronizer-base:2.1.21
 
 COPY xos/synchronizer /opt/xos/synchronizers/exampleservice
 COPY VERSION /opt/xos/synchronizers/exampleservice/
diff --git a/VERSION b/VERSION
index eca07e4..ccbccc3 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.1.2
+2.2.0
diff --git a/xos/synchronizer/models/exampleservice.xproto b/xos/synchronizer/models/exampleservice.xproto
index d93d430..7068d51 100644
--- a/xos/synchronizer/models/exampleservice.xproto
+++ b/xos/synchronizer/models/exampleservice.xproto
@@ -13,19 +13,19 @@
 }
 
 message ServiceInstanceWithCompute (ServiceInstance) {
-    optional manytoone compute_instance->ComputeServiceInstance:service_instance_with_computes = 1 [db_index=True, null=True, blank=True];
+    optional manytoone compute_instance->ComputeServiceInstance:service_instance_with_computes = 1:1002 [db_index=True, null=True, blank=True];
 }
 
 message ExampleServiceInstance (ServiceInstanceWithCompute){
      option verbose_name = "Example Service Instance";
      required string tenant_message = 1 [help_text = "Tenant Message to Display", max_length = 254, null = False, db_index = False, blank = False];
-     optional manytoone foreground_color->Color:serviceinstance_foreground_colors = 2 [db_index = True, null = True, blank = True];
-     optional manytoone background_color->Color:serviceinstance_background_colors = 3 [db_index = True, null = True, blank = True];
+     optional manytoone foreground_color->Color:serviceinstance_foreground_colors = 2:1001 [db_index = True, null = True, blank = True];
+     optional manytoone background_color->Color:serviceinstance_background_colors = 3:1002 [db_index = True, null = True, blank = True];
 }
 
 message EmbeddedImage (XOSBase){
      option verbose_name = "Embedded Image";
      required string name = 1 [help_text = "Name for this image", db_index = False, max_length = 256, null = False, blank = False];
      required string url = 2 [help_text = "URL for this image", db_index = False, max_length = 256, null = False, blank = False];
-     optional manytoone serviceinstance->ExampleServiceInstance:embedded_images = 3 [db_index = True, null = True, blank = True];
+     optional manytoone serviceinstance->ExampleServiceInstance:embedded_images = 3:1001 [db_index = True, null = True, blank = True];
 }
