diff --git a/pom.xml b/pom.xml
index 7fa95d4..d1089db 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
 
   <groupId>edu.psu.swe.scim</groupId>
   <artifactId>scim-parent</artifactId>
-  <version>2.18</version>
+  <version>2.19</version>
   <packaging>pom</packaging>
   <name>SCIM - Parent</name>
   <description>Penn State's Open Source JavaEE implmentation of the SCIM version 2.0 specification (RFC7642, RFC7643 and RFC7644)</description>
diff --git a/scim-client/pom.xml b/scim-client/pom.xml
index 62c2ac4..b7d99f2 100644
--- a/scim-client/pom.xml
+++ b/scim-client/pom.xml
@@ -3,7 +3,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
   <artifactId>scim-client</artifactId>
   <name>SCIM - Client</name>
diff --git a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
index 80b6d68..4f04314 100644
--- a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
+++ b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/BaseScimClient.java
@@ -35,7 +35,7 @@
   private final Class<T> scimResourceClass;
   private final GenericType<ListResponse<T>> scimResourceListResponseGenericType;
   private final WebTarget target;
-  private final ScimClient scimClient;
+  private final InternalScimClient scimClient;
   private RestCall invoke = Invocation::invoke;
 
   public BaseScimClient(Client client, String baseUrl, Class<T> scimResourceClass, GenericType<ListResponse<T>> scimResourceListGenericType) {
@@ -49,7 +49,7 @@
     this.scimResourceClass = scimResourceClass;
     this.scimResourceListResponseGenericType = scimResourceListGenericType;
     this.target = this.client.target(baseUrl).path(endpoint);
-    this.scimClient = new ScimClient();
+    this.scimClient = new InternalScimClient();
   }
 
   public BaseScimClient(Client client, String baseUrl, Class<T> scimResourceClass, GenericType<ListResponse<T>> scimResourceListGenericType, RestCall invoke) {
@@ -179,7 +179,7 @@
     this.invoke = invoke;
   }
 
-  private class ScimClient implements BaseResourceTypeResource<T> {
+  private class InternalScimClient implements BaseResourceTypeResource<T> {
 
     private static final String ATTRIBUTES_QUERY_PARAM = "attributes";
     private static final String EXCLUDED_ATTRIBUTES_QUERY_PARAM = "excludedAttributes";
@@ -207,7 +207,7 @@
           .path(id)
           .queryParam(ATTRIBUTES_QUERY_PARAM, attributes)
           .queryParam(EXCLUDED_ATTRIBUTES_QUERY_PARAM, excludedAttributes)
-          .request(Constants.SCIM_CONTENT_TYPE)
+          .request(getContentType())
           .buildGet();
 
       try {
@@ -230,7 +230,7 @@
           .queryParam(SORT_ORDER_QUERY_PARAM, sortOrder != null ? sortOrder.name() : null)
           .queryParam(START_INDEX_QUERY_PARAM, startIndex)
           .queryParam(COUNT_QUERY_PARAM, count)
-          .request(Constants.SCIM_CONTENT_TYPE)
+          .request(getContentType())
           .buildGet();
 
       try {
@@ -248,8 +248,8 @@
       Invocation request = BaseScimClient.this.target
           .queryParam(ATTRIBUTES_QUERY_PARAM, attributes)
           .queryParam(EXCLUDED_ATTRIBUTES_QUERY_PARAM, excludedAttributes)
-          .request(Constants.SCIM_CONTENT_TYPE)
-          .buildPost(Entity.entity(resource, Constants.SCIM_CONTENT_TYPE));
+          .request(getContentType())
+          .buildPost(Entity.entity(resource, getContentType()));
 
       try {
         response = BaseScimClient.this.invoke.apply(request);
@@ -265,8 +265,8 @@
       Response response;
       Invocation request = BaseScimClient.this.target
           .path(".search")
-          .request(Constants.SCIM_CONTENT_TYPE)
-          .buildPost(Entity.entity(searchRequest, Constants.SCIM_CONTENT_TYPE));
+          .request(getContentType())
+          .buildPost(Entity.entity(searchRequest, getContentType()));
 
       try {
         response = BaseScimClient.this.invoke.apply(request);
@@ -284,8 +284,8 @@
           .path(id)
           .queryParam(ATTRIBUTES_QUERY_PARAM, attributes)
           .queryParam(EXCLUDED_ATTRIBUTES_QUERY_PARAM, excludedAttributes)
-          .request(Constants.SCIM_CONTENT_TYPE)
-          .buildPut(Entity.entity(resource, Constants.SCIM_CONTENT_TYPE));
+          .request(getContentType())
+          .buildPut(Entity.entity(resource, getContentType()));
 
       try {
         response = BaseScimClient.this.invoke.apply(request);
@@ -303,8 +303,8 @@
           .path(id)
           .queryParam(ATTRIBUTES_QUERY_PARAM, attributes)
           .queryParam(EXCLUDED_ATTRIBUTES_QUERY_PARAM, excludedAttributes)
-          .request(Constants.SCIM_CONTENT_TYPE)
-          .build("PATCH", Entity.entity(patchRequest, Constants.SCIM_CONTENT_TYPE));
+          .request(getContentType())
+          .build("PATCH", Entity.entity(patchRequest, getContentType()));
 
       try {
         response = BaseScimClient.this.invoke.apply(request);
@@ -320,7 +320,7 @@
       Response response;
       Invocation request = BaseScimClient.this.target
           .path(id)
-          .request(Constants.SCIM_CONTENT_TYPE)
+          .request(getContentType())
           .buildDelete();
 
       try {
@@ -332,4 +332,8 @@
       }
     }
   }
+
+  protected String getContentType() {
+    return Constants.SCIM_CONTENT_TYPE;
+  }
 }
diff --git a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimGroupClient.java b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimGroupClient.java
new file mode 100644
index 0000000..de46051
--- /dev/null
+++ b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimGroupClient.java
@@ -0,0 +1,23 @@
+package edu.psu.swe.scim.client.rest.legacy;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.core.MediaType;
+
+import edu.psu.swe.commons.jaxrs.RestCall;
+import edu.psu.swe.scim.client.rest.ScimGroupClient;
+
+public class Version1ScimGroupClient extends ScimGroupClient {
+
+  public Version1ScimGroupClient(Client client, String baseUrl) {
+    super(client, baseUrl);
+  }
+
+  public Version1ScimGroupClient(Client client, String baseUrl, RestCall invoke) {
+    super(client, baseUrl, invoke);
+  }
+  
+  @Override
+  protected String getContentType() {
+    return MediaType.APPLICATION_JSON;
+  }
+}
diff --git a/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimUserClient.java b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimUserClient.java
new file mode 100644
index 0000000..60a2985
--- /dev/null
+++ b/scim-client/src/main/java/edu/psu/swe/scim/client/rest/legacy/Version1ScimUserClient.java
@@ -0,0 +1,23 @@
+package edu.psu.swe.scim.client.rest.legacy;
+
+import javax.ws.rs.client.Client;
+import javax.ws.rs.core.MediaType;
+
+import edu.psu.swe.commons.jaxrs.RestCall;
+import edu.psu.swe.scim.client.rest.ScimUserClient;
+
+public class Version1ScimUserClient extends ScimUserClient {
+
+  public Version1ScimUserClient(Client client, String baseUrl) {
+    super(client, baseUrl);
+  }
+
+  public Version1ScimUserClient(Client client, String baseUrl, RestCall invoke) {
+    super(client, baseUrl, invoke);
+  }
+  
+  @Override
+  protected String getContentType() {
+    return MediaType.APPLICATION_JSON;
+  }
+}
diff --git a/scim-common/pom.xml b/scim-common/pom.xml
index 9101d31..ae59989 100644
--- a/scim-common/pom.xml
+++ b/scim-common/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-common</artifactId>
@@ -14,12 +14,12 @@
     <dependency>
       <groupId>edu.psu.swe.scim</groupId>
       <artifactId>scim-spec-protocol</artifactId>
-      <version>2.18</version>
+      <version>2.19</version>
     </dependency>
     <dependency>
       <groupId>edu.psu.swe.scim</groupId>
       <artifactId>scim-spec-schema</artifactId>
-      <version>2.18</version>
+      <version>2.19</version>
     </dependency>
   </dependencies>
 
diff --git a/scim-compliance/pom.xml b/scim-compliance/pom.xml
index a86471e..f68971c 100644
--- a/scim-compliance/pom.xml
+++ b/scim-compliance/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-compliance</artifactId>
diff --git a/scim-compliance/scim-compliance-client/pom.xml b/scim-compliance/scim-compliance-client/pom.xml
index eb7aff6..afa68df 100644
--- a/scim-compliance/scim-compliance-client/pom.xml
+++ b/scim-compliance/scim-compliance-client/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-compliance</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-compliance-client</artifactId>
diff --git a/scim-compliance/scim-compliance-server/pom.xml b/scim-compliance/scim-compliance-server/pom.xml
index 098fc33..4c92828 100644
--- a/scim-compliance/scim-compliance-server/pom.xml
+++ b/scim-compliance/scim-compliance-server/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-compliance</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-compliance-server</artifactId>
diff --git a/scim-errai/pom.xml b/scim-errai/pom.xml
index 9c1bf4a..6df5294 100644
--- a/scim-errai/pom.xml
+++ b/scim-errai/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-errai</artifactId>
diff --git a/scim-server/pom.xml b/scim-server/pom.xml
index fa56bf8..27e5d00 100644
--- a/scim-server/pom.xml
+++ b/scim-server/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server</artifactId>
diff --git a/scim-server/scim-server-common/pom.xml b/scim-server/scim-server-common/pom.xml
index 6c8c03b..5a498b1 100644
--- a/scim-server/scim-server-common/pom.xml
+++ b/scim-server/scim-server-common/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-common</artifactId>
diff --git a/scim-server/scim-server-example/pom.xml b/scim-server/scim-server-example/pom.xml
index 557c84d..1f46b12 100644
--- a/scim-server/scim-server-example/pom.xml
+++ b/scim-server/scim-server-example/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-examples</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-couchdb/pom.xml b/scim-server/scim-server-example/scim-server-couchdb/pom.xml
index 2bd4f1d..4ae9cbc 100644
--- a/scim-server/scim-server-example/scim-server-couchdb/pom.xml
+++ b/scim-server/scim-server-example/scim-server-couchdb/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server-examples</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-couchdb</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-memory/pom.xml b/scim-server/scim-server-example/scim-server-memory/pom.xml
index e72f745..3363199 100644
--- a/scim-server/scim-server-example/scim-server-memory/pom.xml
+++ b/scim-server/scim-server-example/scim-server-memory/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server-examples</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-memory</artifactId>
diff --git a/scim-server/scim-server-example/scim-server-rdbms/pom.xml b/scim-server/scim-server-example/scim-server-rdbms/pom.xml
index 232ce3c..2de5c08 100644
--- a/scim-server/scim-server-example/scim-server-rdbms/pom.xml
+++ b/scim-server/scim-server-example/scim-server-rdbms/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-server-examples</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-server-rdbms</artifactId>
diff --git a/scim-spec/pom.xml b/scim-spec/pom.xml
index 38ff75f..eaa9d6d 100644
--- a/scim-spec/pom.xml
+++ b/scim-spec/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-spec</artifactId>
diff --git a/scim-spec/scim-spec-protocol/pom.xml b/scim-spec/scim-spec-protocol/pom.xml
index bd63cf9..f49af12 100644
--- a/scim-spec/scim-spec-protocol/pom.xml
+++ b/scim-spec/scim-spec-protocol/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-spec</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-spec-protocol</artifactId>
diff --git a/scim-spec/scim-spec-schema/pom.xml b/scim-spec/scim-spec-schema/pom.xml
index 4b05b77..6c7cdb7 100644
--- a/scim-spec/scim-spec-schema/pom.xml
+++ b/scim-spec/scim-spec-schema/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<groupId>edu.psu.swe.scim</groupId>
 		<artifactId>scim-spec</artifactId>
-		<version>2.18</version>
+		<version>2.19</version>
 	</parent>
 
 	<artifactId>scim-spec-schema</artifactId>
diff --git a/scim-tools/pom.xml b/scim-tools/pom.xml
index a594216..800b60a 100644
--- a/scim-tools/pom.xml
+++ b/scim-tools/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-parent</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-tools</artifactId>
diff --git a/scim-tools/scim-tools-cli/pom.xml b/scim-tools/scim-tools-cli/pom.xml
index 3e9ed90..65f8169 100644
--- a/scim-tools/scim-tools-cli/pom.xml
+++ b/scim-tools/scim-tools-cli/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-tools</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-tools-cli</artifactId>
diff --git a/scim-tools/scim-tools-common/pom.xml b/scim-tools/scim-tools-common/pom.xml
index 44248aa..0440d61 100644
--- a/scim-tools/scim-tools-common/pom.xml
+++ b/scim-tools/scim-tools-common/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-tools</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-tools-common</artifactId>
diff --git a/scim-tools/scim-tools-studio/pom.xml b/scim-tools/scim-tools-studio/pom.xml
index 6f1dc5b..f7d4394 100644
--- a/scim-tools/scim-tools-studio/pom.xml
+++ b/scim-tools/scim-tools-studio/pom.xml
@@ -4,7 +4,7 @@
   <parent>
     <groupId>edu.psu.swe.scim</groupId>
     <artifactId>scim-tools</artifactId>
-    <version>2.18</version>
+    <version>2.19</version>
   </parent>
 
   <artifactId>scim-tools-studio</artifactId>
