Index: profile/pom.xml
===================================================================
--- profile/pom.xml	(revision 32)
+++ profile/pom.xml	(revision 33)
@@ -6,5 +6,5 @@
 	<groupId>geniusweb</groupId>
 	<artifactId>profile</artifactId>
-	<version>1.6.1</version> <!-- must equal ${geniusweb.version} -->
+	<version>2.0.0</version> <!-- must equal ${geniusweb.version} -->
 	<packaging>jar</packaging>
 
@@ -16,6 +16,6 @@
 		<basedir>.</basedir>
 		<passwd>${env.ARTIFACTORY_PASS}</passwd>
-		<jackson-2-version>2.9.10</jackson-2-version>
-		<geniusweb.version>1.6.1</geniusweb.version>
+		<jackson-2-version>2.12.3</jackson-2-version>
+		<geniusweb.version>2.0.0</geniusweb.version>
 	</properties>
 
@@ -41,6 +41,6 @@
 		<dependency>
 			<groupId>tudelft.utilities</groupId>
-			<artifactId>immutablelist</artifactId>
-			<version>1.1.2</version>
+			<artifactId>utilities</artifactId>
+			<version>1.1.0</version>
 		</dependency>
 
@@ -123,10 +123,5 @@
 		<pluginRepository>
 			<id>central</id>
-			<url>https://repo1.maven.org/</url>
-		</pluginRepository>
-		<pluginRepository>
-			<id>jfrog-plugins-release</id>
-			<name>plugins-release</name>
-			<url>https://oss.jfrog.org/artifactory/plugins-release</url>
+			<url>https://repo1.maven.org/maven2</url>
 		</pluginRepository>
 	</pluginRepositories>
@@ -148,4 +143,5 @@
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-source-plugin</artifactId>
+				<version>3.1.0</version>
 				<executions>
 					<execution>
@@ -175,5 +171,5 @@
 				<groupId>org.jfrog.buildinfo</groupId>
 				<artifactId>artifactory-maven-plugin</artifactId>
-				<version>2.6.1</version>
+				<version>3.2.3</version>
 				<executions>
 					<execution>
Index: profile/src/main/java/geniusweb/profile/utilityspace/DiscreteValueSetUtilities.java
===================================================================
--- profile/src/main/java/geniusweb/profile/utilityspace/DiscreteValueSetUtilities.java	(revision 32)
+++ profile/src/main/java/geniusweb/profile/utilityspace/DiscreteValueSetUtilities.java	(revision 33)
@@ -9,5 +9,4 @@
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.JsonTypeName;
 
 import geniusweb.issuevalue.DiscreteValue;
@@ -25,5 +24,4 @@
  * </ul>
  */
-@JsonTypeName("discreteutils")
 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
 public class DiscreteValueSetUtilities implements ValueSetUtilities {
Index: profile/src/main/java/geniusweb/profile/utilityspace/NumberValueSetUtilities.java
===================================================================
--- profile/src/main/java/geniusweb/profile/utilityspace/NumberValueSetUtilities.java	(revision 32)
+++ profile/src/main/java/geniusweb/profile/utilityspace/NumberValueSetUtilities.java	(revision 33)
@@ -8,5 +8,4 @@
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeName;
 
 import geniusweb.issuevalue.NumberValue;
@@ -21,5 +20,4 @@
  *
  */
-@JsonTypeName("numberutils")
 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
 public class NumberValueSetUtilities implements ValueSetUtilities {
Index: profile/src/main/java/geniusweb/profile/utilityspace/PartsUtilities.java
===================================================================
--- profile/src/main/java/geniusweb/profile/utilityspace/PartsUtilities.java	(revision 32)
+++ profile/src/main/java/geniusweb/profile/utilityspace/PartsUtilities.java	(revision 33)
@@ -12,5 +12,4 @@
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeName;
 
 import geniusweb.issuevalue.Value;
@@ -31,5 +30,4 @@
  */
 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE)
-@JsonTypeName("partsutils")
 public class PartsUtilities implements ValueSetUtilities {
 	private final List<String> issues;
Index: profile/src/test/java/geniusweb/profile/utilityspace/DiscreteValueSetUtilitiesTest.java
===================================================================
--- profile/src/test/java/geniusweb/profile/utilityspace/DiscreteValueSetUtilitiesTest.java	(revision 32)
+++ profile/src/test/java/geniusweb/profile/utilityspace/DiscreteValueSetUtilitiesTest.java	(revision 33)
@@ -199,5 +199,5 @@
 		// Notice, party tent has extra single quote in the valuesstr.
 		String valuesstr = "{\"values\": [\"Party Tent'\",\"Your Dorm\", \"Party Room\", \"Ballroom\" ]}";
-		String utilstring = "{\"discreteutils\": {\"valueUtilities\": {\"Party Tent\": 0.52,\"Your Dorm\": 0.23,\"Party Room\": 0.99,\"Ballroom\": 0.77}}}";
+		String utilstring = "{\"DiscreteValueSetUtilities\": {\"valueUtilities\": {\"Party Tent\": 0.52,\"Your Dorm\": 0.23,\"Party Room\": 0.99,\"Ballroom\": 0.77}}}";
 		ValueSetUtilities valueutils = jackson.readValue(utilstring,
 				ValueSetUtilities.class);
@@ -213,5 +213,5 @@
 		// Check that DiscreteValueSetUtilities properly deserializes
 		// discreteutils.
-		String utilstring = "{\"discreteutils\": {\"valueUtilities\": {\"Party Tent\": 0.52,\"Your Dorm\": 0.23,\"Party Room\": 0.99,\"Ballroom\": 0.77}}}";
+		String utilstring = "{\"DiscreteValueSetUtilities\": {\"valueUtilities\": {\"Party Tent\": 0.52,\"Your Dorm\": 0.23,\"Party Room\": 0.99,\"Ballroom\": 0.77}}}";
 		DiscreteValueSetUtilities valueutils = jackson.readValue(utilstring,
 				DiscreteValueSetUtilities.class);
Index: profile/src/test/java/geniusweb/profile/utilityspace/LinearAdditiveSerializationTest.java
===================================================================
--- profile/src/test/java/geniusweb/profile/utilityspace/LinearAdditiveSerializationTest.java	(revision 32)
+++ profile/src/test/java/geniusweb/profile/utilityspace/LinearAdditiveSerializationTest.java	(revision 33)
@@ -14,5 +14,5 @@
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.exc.InvalidDefinitionException;
+import com.fasterxml.jackson.databind.exc.ValueInstantiationException;
 
 import geniusweb.issuevalue.Bid;
@@ -50,13 +50,13 @@
 	private LinearAdditiveUtilitySpace space;
 
-	private String serialized = "{\"LinearAdditiveUtilitySpace\":{\"domain\":{\"name\":\"test\",\"issuesValues\":{\"issue2\":{\"range\":[12,18,1]},\"issue1\":{\"values\":[\"issue1value1\",\"issue1value2\"]}}},\"name\":\"testprofile\",\"issueUtilities\":{\"issue2\":{\"numberutils\":{\"lowValue\":12,\"lowUtility\":0.3,\"highValue\":18,\"highUtility\":0.6}},\"issue1\":{\"discreteutils\":{\"valueUtilities\":{\"issue1value1\":0.2,\"issue1value2\":0.3}}}},\"issueWeights\":{\"issue2\":0.4,\"issue1\":0.6},\"reservationBid\":{\"issuevalues\":{\"issue2\":15,\"issue1\":\"issue1value2\"}}}}";
+	private String serialized = "{\"LinearAdditiveUtilitySpace\":{\"domain\":{\"name\":\"test\",\"issuesValues\":{\"issue2\":{\"range\":{\"low\":12,\"high\":18,\"step\":1}},\"issue1\":{\"values\":[\"issue1value1\",\"issue1value2\"]}}},\"name\":\"testprofile\",\"issueUtilities\":{\"issue2\":{\"NumberValueSetUtilities\":{\"lowValue\":12,\"lowUtility\":0.3,\"highValue\":18,\"highUtility\":0.6}},\"issue1\":{\"DiscreteValueSetUtilities\":{\"valueUtilities\":{\"issue1value1\":0.2,\"issue1value2\":0.3}}}},\"issueWeights\":{\"issue2\":0.4,\"issue1\":0.6},\"reservationBid\":{\"issuevalues\":{\"issue2\":15,\"issue1\":\"issue1value2\"}}}}";
 
 	private String jobsjson = "{\"LinearAdditiveUtilitySpace\":{\"issueUtilities\":{"
-			+ "\"lease car\":{\"discreteutils\":{\"valueUtilities\":{\"no\":0,\"yes\":1}}},"
-			+ "\"permanent contract\":{\"discreteutils\":{\"valueUtilities\":{\"no\":0,\"yes\":1}}},"
-			+ "\"career development opportunities\":{\"discreteutils\":{\"valueUtilities\":{\"high\":1,\"low\":0,\"medium\":0.5}}},"
-			+ "\"fte\":{\"discreteutils\":{\"valueUtilities\":{\"1.0\":0.75,\"0.6\":0.25,\"0.8\":0.5}}},"
-			+ "\"salary\":{\"discreteutils\":{\"valueUtilities\":{\"4000\":1.0,\"2500\":0.25,\"3500\":0.75,\"2000\":0,\"3000\":0.3}}},"
-			+ "\"work from home\":{\"discreteutils\":{\"valueUtilities\":{\"1\":0.5,\"2\":0.666666666666,\"0\":0.333333333}}}},"
+			+ "\"lease car\":{\"DiscreteValueSetUtilities\":{\"valueUtilities\":{\"no\":0,\"yes\":1}}},"
+			+ "\"permanent contract\":{\"DiscreteValueSetUtilities\":{\"valueUtilities\":{\"no\":0,\"yes\":1}}},"
+			+ "\"career development opportunities\":{\"DiscreteValueSetUtilities\":{\"valueUtilities\":{\"high\":1,\"low\":0,\"medium\":0.5}}},"
+			+ "\"fte\":{\"DiscreteValueSetUtilities\":{\"valueUtilities\":{\"1.0\":0.75,\"0.6\":0.25,\"0.8\":0.5}}},"
+			+ "\"salary\":{\"DiscreteValueSetUtilities\":{\"valueUtilities\":{\"4000\":1.0,\"2500\":0.25,\"3500\":0.75,\"2000\":0,\"3000\":0.3}}},"
+			+ "\"work from home\":{\"DiscreteValueSetUtilities\":{\"valueUtilities\":{\"1\":0.5,\"2\":0.666666666666,\"0\":0.333333333}}}},"
 			+ "\"issueWeights\":{\"lease car\":0.06,\"permanent contract\":0.16,"
 			+ "\"career development opportunities\":0.04,\"fte\":0.32,\"salary\":0.24,\"work from home\":0.18},"
@@ -71,6 +71,6 @@
 			+ "\"issue3\":{\"values\":[\"issue1value1\",\"issue1value2\"]}}},"
 			+ "\"name\":\"testprofile\"," + "\"issueUtilities\":"
-			+ "{\"issue2\":{\"numberutils\":{\"lowValue\":12,\"lowUtility\":0.3,\"highValue\":18,\"highUtility\":0.6}},"
-			+ "\"issue1\":{\"discreteutils\":{\"valueUtilities\":{\"issue1value1\":0.2,\"issue1value2\":0.3}}}},"
+			+ "{\"issue2\":{\"NumberValueSetUtilities\":{\"lowValue\":12,\"lowUtility\":0.3,\"highValue\":18,\"highUtility\":0.6}},"
+			+ "\"issue1\":{\"DiscreteValueSetUtilities\":{\"valueUtilities\":{\"issue1value1\":0.2,\"issue1value2\":0.3}}}},"
 			+ "\"issueWeights\":{\"issue2\":0.4,\"issue1\":0.6},"
 			+ "\"reservationBid\":{\"issuevalues\":{\"issue2\":\"issue2value1\",\"issue1\":\"issue1value2\"}}"
@@ -117,5 +117,5 @@
 	}
 
-	@Test(expected = InvalidDefinitionException.class)
+	@Test(expected = ValueInstantiationException.class)
 	public void testDeserializeWrongIssues() throws IOException {
 		jackson.readValue(serializedWrongIssues, Profile.class);
Index: profile/src/test/java/geniusweb/profile/utilityspace/NumberValueSetUtilTest.java
===================================================================
--- profile/src/test/java/geniusweb/profile/utilityspace/NumberValueSetUtilTest.java	(revision 32)
+++ profile/src/test/java/geniusweb/profile/utilityspace/NumberValueSetUtilTest.java	(revision 33)
@@ -41,5 +41,5 @@
 			lowval1, low1util, highvalb, highutil);
 	private static final BigDecimal ZERO_1 = new BigDecimal("0.1");
-	private final String utilstring = "{\"numberutils\":{\"lowValue\":12.5,\"lowUtility\":0.5,\"highValue\":18.5,\"highUtility\":0.9}}";
+	private final String utilstring = "{\"NumberValueSetUtilities\":{\"lowValue\":12.5,\"lowUtility\":0.5,\"highValue\":18.5,\"highUtility\":0.9}}";
 
 	private static final ObjectMapper jackson = new ObjectMapper();
Index: profile/src/test/java/geniusweb/profile/utilityspace/PartsUtilitiesTest.java
===================================================================
--- profile/src/test/java/geniusweb/profile/utilityspace/PartsUtilitiesTest.java	(revision 32)
+++ profile/src/test/java/geniusweb/profile/utilityspace/PartsUtilitiesTest.java	(revision 33)
@@ -37,5 +37,5 @@
 	private final static DiscreteValue high = new DiscreteValue("high");
 
-	private final static String jsontext = "{\"partsutils\":{\"issues\":[\"issue1\",\"issue2\"],\"utilslist\":[{\"values\":[\"low\",\"low\"],\"util\":0.3},{\"values\":[\"high\",\"high\"],\"util\":0.9}]}}";
+	private final static String jsontext = "{\"PartsUtilities\":{\"issues\":[\"issue1\",\"issue2\"],\"utilslist\":[{\"values\":[\"low\",\"low\"],\"util\":0.3},{\"values\":[\"high\",\"high\"],\"util\":0.9}]}}";
 
 	private PartsUtilities parts1, parts1a, parts2, parts3;
Index: profile/src/test/java/geniusweb/profile/utilityspace/SumOfGroupsUtilitySpaceTest.java
===================================================================
--- profile/src/test/java/geniusweb/profile/utilityspace/SumOfGroupsUtilitySpaceTest.java	(revision 32)
+++ profile/src/test/java/geniusweb/profile/utilityspace/SumOfGroupsUtilitySpaceTest.java	(revision 33)
@@ -50,5 +50,5 @@
 	private Domain domain;
 	private PartsUtilities putils12, putils3;
-	private String serialized = "{\"SumOfGroupsUtilitySpace\":{\"domain\":{\"name\":\"domain\",\"issuesValues\":{\"issue3\":{\"values\":[\"low\",\"high\"]},\"issue2\":{\"values\":[\"low\",\"high\"]},\"issue1\":{\"values\":[\"low\",\"high\"]}}},\"name\":\"testspace\",\"partUtilities\":{\"1and2\":{\"partsutils\":{\"issues\":[\"issue1\",\"issue2\"],\"utilslist\":[{\"values\":[\"low\",\"low\"],\"util\":0.16},{\"values\":[\"high\",\"high\"],\"util\":0.72},{\"values\":[\"low\",\"high\"],\"util\":0.16},{\"values\":[\"high\",\"low\"],\"util\":0.16}]}},\"3\":{\"partsutils\":{\"issues\":[\"issue3\"],\"utilslist\":[{\"values\":[\"low\"],\"util\":0.16},{\"values\":[\"high\"],\"util\":0.14}]}}},\"reservationbid\":{\"issuevalues\":{\"issue1\":\"high\"}}}}";
+	private String serialized = "{\"SumOfGroupsUtilitySpace\":{\"domain\":{\"name\":\"domain\",\"issuesValues\":{\"issue3\":{\"values\":[\"low\",\"high\"]},\"issue2\":{\"values\":[\"low\",\"high\"]},\"issue1\":{\"values\":[\"low\",\"high\"]}}},\"name\":\"testspace\",\"partUtilities\":{\"1and2\":{\"PartsUtilities\":{\"issues\":[\"issue1\",\"issue2\"],\"utilslist\":[{\"values\":[\"low\",\"low\"],\"util\":0.16},{\"values\":[\"high\",\"high\"],\"util\":0.72},{\"values\":[\"low\",\"high\"],\"util\":0.16},{\"values\":[\"high\",\"low\"],\"util\":0.16}]}},\"3\":{\"PartsUtilities\":{\"issues\":[\"issue3\"],\"utilslist\":[{\"values\":[\"low\"],\"util\":0.16},{\"values\":[\"high\"],\"util\":0.14}]}}},\"reservationbid\":{\"issuevalues\":{\"issue1\":\"high\"}}}}";
 
 	@Before
Index: profile/src/test/resources/party1.json
===================================================================
--- profile/src/test/resources/party1.json	(revision 32)
+++ profile/src/test/resources/party1.json	(revision 33)
@@ -4,5 +4,5 @@
 		"issueUtilities": {
 			"Food": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Chips and Nuts": 0.75,
@@ -14,5 +14,5 @@
 			},
 			"Drinks": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Non-Alcoholic": 0.263,
@@ -24,5 +24,5 @@
 			},
 			"Location": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Party Tent": 0.52,
@@ -34,5 +34,5 @@
 			},
 			"Invitations": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Plain": 0.24,
@@ -44,5 +44,5 @@
 			},
 			"Music": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"MP3": 0.65,
@@ -53,5 +53,5 @@
 			},
 			"Cleanup": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Water and Soap": 0.65,
