Index: exampleparties/randompartypy/src/test/java/geniusweb/exampleparties/randompartypy/RandomPartyTest.java
===================================================================
--- exampleparties/randompartypy/src/test/java/geniusweb/exampleparties/randompartypy/RandomPartyTest.java	(revision 52)
+++ exampleparties/randompartypy/src/test/java/geniusweb/exampleparties/randompartypy/RandomPartyTest.java	(revision 1)
@@ -31,18 +31,15 @@
 import geniusweb.actions.PartyId;
 import geniusweb.bidspace.AllBidsList;
-import geniusweb.connection.ConnectionEnd;
-import geniusweb.inform.ActionDone;
-import geniusweb.inform.Agreements;
-import geniusweb.inform.Finished;
-import geniusweb.inform.Inform;
-import geniusweb.inform.Settings;
-import geniusweb.inform.YourTurn;
+import geniusweb.connection.Connection;
 import geniusweb.issuevalue.Bid;
 import geniusweb.party.Capabilities;
+import geniusweb.party.inform.ActionDone;
+import geniusweb.party.inform.Inform;
+import geniusweb.party.inform.Settings;
+import geniusweb.party.inform.YourTurn;
 import geniusweb.profile.Profile;
-import geniusweb.profile.utilityspace.LinearAdditive;
+import geniusweb.profile.utilityspace.LinearAdditiveUtilitySpace;
 import geniusweb.progress.ProgressRounds;
 import geniusweb.pythonadapter.PythonPartyAdapter;
-import geniusweb.references.Parameters;
 import geniusweb.references.ProfileRef;
 import geniusweb.references.ProtocolRef;
@@ -53,5 +50,5 @@
 
 	private static final String PROFILE = "src/test/resources/testprofile.json";
-	private static final String SAOP = "SAOP";
+	private static final ProtocolRef SAOP = new ProtocolRef("SAOP");
 	private static final PartyId otherparty = new PartyId("other");
 	private final static ObjectMapper jackson = new ObjectMapper();
@@ -59,10 +56,9 @@
 	private PythonPartyAdapter party;
 	private TestConnection connection = new TestConnection();
-	private final ProtocolRef protocol = mock(ProtocolRef.class);
-	private final ProgressRounds progress = mock(ProgressRounds.class);
+	private ProtocolRef protocol = mock(ProtocolRef.class);
+	private ProgressRounds progress = mock(ProgressRounds.class);
 	private Settings settings;
-	private final Parameters parameters = new Parameters();
-
-	private LinearAdditive profile; // the real profile
+
+	private LinearAdditiveUtilitySpace profile; // the real profile
 
 	@Before
@@ -78,9 +74,9 @@
 		};
 		settings = new Settings(new PartyId("party1"),
-				new ProfileRef(new URI("file:" + PROFILE)), protocol, progress,
-				parameters);
+				new ProfileRef(new URI("file:" + PROFILE)), protocol, progress);
 		String serialized = new String(Files.readAllBytes(Paths.get(PROFILE)),
 				StandardCharsets.UTF_8);
-		profile = (LinearAdditive) jackson.readValue(serialized, Profile.class);
+		profile = (LinearAdditiveUtilitySpace) jackson.readValue(serialized,
+				Profile.class);
 
 	}
@@ -99,5 +95,5 @@
 		Capabilities capabilities = party.getCapabilities();
 		assertFalse("party does not define protocols",
-				capabilities.getBehaviours().isEmpty());
+				capabilities.getProtocols().isEmpty());
 	}
 
@@ -112,5 +108,5 @@
 	public void testInformSettings() {
 		party.connect(connection);
-		connection.notifyListeners(settings);
+		connection.notifyChange(settings);
 		assertEquals(0, connection.getActions().size());
 	}
@@ -129,15 +125,4 @@
 
 		party.notifyChange(new ActionDone(new EndNegotiation(otherparty)));
-
-		// party should not act at this point
-		assertEquals(0, connection.getActions().size());
-	}
-
-	@Test
-	public void testFinished() {
-		party.connect(connection);
-		party.notifyChange(settings);
-
-		party.notifyChange(new Finished(new Agreements()));
 
 		// party should not act at this point
@@ -179,5 +164,5 @@
 	@Test
 	public void testGetCapabilities() {
-		assertTrue(party.getCapabilities().getBehaviours().contains(SAOP));
+		assertTrue(party.getCapabilities().getProtocols().contains(SAOP));
 	}
 
@@ -202,5 +187,5 @@
  */
 class TestConnection extends DefaultListenable<Inform>
-		implements ConnectionEnd<Inform, Action> {
+		implements Connection<Inform, Action> {
 	private List<Action> actions = new LinkedList<>();
 
Index: exampleparties/randompartypy/src/test/resources/testprofile.json
===================================================================
--- exampleparties/randompartypy/src/test/resources/testprofile.json	(revision 52)
+++ exampleparties/randompartypy/src/test/resources/testprofile.json	(revision 1)
@@ -3,5 +3,5 @@
 		"issueUtilities": {
 			"issue2": {
-				"NumberValueSetUtilities": {
+				"numberutils": {
 					"lowValue": 12,
 					"lowUtility": 0.3,
@@ -11,5 +11,5 @@
 			},
 			"issue1": {
-				"DiscreteValueSetUtilities": {
+				"discreteutils": {
 					"valueUtilities": {
 						"issue1value1": 0.2,
@@ -27,21 +27,19 @@
 			"issuesValues": {
 				"issue2": {
-					"range": { "low":12,"high":18,"step":1 }
+					"range": ["12", "18", "1"]
 				},
 				"issue1": {
-					"values": [
-						"issue1value1",
-						"issue1value2"
-					]
+					"values": ["issue1value1", "issue1value2"]
 				}
 			}
 		},
 		"name": "testprofile",
-		"reservationBid": {
+				"reservationBid": {
 			"issuevalues": {
-				"issue1": "issue1value1",
-				"issue2": 12
+				"issue1": "issuevalue1",
+				"issue2": "12"
 			}
 		}
+		
 	}
 }
