Index: exampleparties/randomparty/src/test/java/geniusweb/exampleparties/randomparty/RandomPartyTest.java
===================================================================
--- exampleparties/randomparty/src/test/java/geniusweb/exampleparties/randomparty/RandomPartyTest.java	(revision 53)
+++ exampleparties/randomparty/src/test/java/geniusweb/exampleparties/randomparty/RandomPartyTest.java	(revision 1)
@@ -7,7 +7,5 @@
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
 import java.io.IOException;
@@ -18,6 +16,4 @@
 import java.nio.file.Files;
 import java.nio.file.Paths;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
@@ -36,22 +32,16 @@
 import geniusweb.actions.Offer;
 import geniusweb.actions.PartyId;
-import geniusweb.actions.Votes;
-import geniusweb.actions.VotesWithValue;
 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.OptIn;
-import geniusweb.inform.Settings;
-import geniusweb.inform.Voting;
-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.Finished;
+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.references.Parameters;
 import geniusweb.references.ProfileRef;
 import geniusweb.references.ProtocolRef;
@@ -62,6 +52,5 @@
 public class RandomPartyTest {
 
-	private static final PartyId PARTY1 = new PartyId("party1");
-	private static final String SAOP = "SAOP";
+	private static final ProtocolRef SAOP = new ProtocolRef("SAOP");
 	private static final PartyId otherparty = new PartyId("other");
 	private static final String PROFILE = "src/test/resources/testprofile.json";
@@ -69,12 +58,9 @@
 
 	private RandomParty party;
-	private final TestConnection connection = new TestConnection();
-	private final ProtocolRef protocol = new ProtocolRef(SAOP);
-	private final ProtocolRef mopacProtocol = new ProtocolRef("MOPAC");
-	private final ProtocolRef mopac2Protocol = new ProtocolRef("MOPAC2");
-	private final ProgressRounds progress = mock(ProgressRounds.class);
-	private Settings settings, mopacSettings, mopac2Settings;
-	private LinearAdditive profile;
-	private final Parameters parameters = new Parameters();
+	private TestConnection connection = new TestConnection();
+	private ProtocolRef protocol = mock(ProtocolRef.class);
+	private ProgressRounds progress = mock(ProgressRounds.class);
+	private Settings settings;
+	private LinearAdditiveUtilitySpace profile;
 
 	@Before
@@ -82,17 +68,11 @@
 			IOException, URISyntaxException {
 		party = new RandomParty();
-		settings = new Settings(PARTY1,
-				new ProfileRef(new URI("file:" + PROFILE)), protocol, progress,
-				parameters);
-		mopacSettings = new Settings(PARTY1,
-				new ProfileRef(new URI("file:" + PROFILE)), mopacProtocol,
-				progress, parameters);
-		mopac2Settings = new Settings(PARTY1,
-				new ProfileRef(new URI("file:" + PROFILE)), mopac2Protocol,
-				progress, parameters);
+		settings = new Settings(new PartyId("party1"),
+				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);
 
 	}
@@ -111,5 +91,5 @@
 		Capabilities capabilities = party.getCapabilities();
 		assertFalse("party does not define protocols",
-				capabilities.getBehaviours().isEmpty());
+				capabilities.getProtocols().isEmpty());
 	}
 
@@ -124,5 +104,5 @@
 	public void testInformSettings() {
 		party.connect(connection);
-		connection.notifyListeners(settings);
+		connection.notifyChange(settings);
 		assertEquals(0, connection.getActions().size());
 	}
@@ -176,14 +156,12 @@
 		party.connect(connection);
 		party.notifyChange(settings);
-		Agreements agreements = mock(Agreements.class);
-		when(agreements.toString()).thenReturn("agree");
-		party.notifyChange(new Finished(agreements));
+		party.notifyChange(new Finished(null));
 
 		verify(reporter).log(eq(Level.INFO),
-				eq("Final ourcome:Finished[agree]"));
-	}
-
-	@Test
-	public void testAgentsUpdatesSAOPProgress() {
+				eq("Final ourcome:Finished[null]"));
+	}
+
+	@Test
+	public void testAgentsUpdatesProgress() {
 		party.connect(connection);
 		party.notifyChange(settings);
@@ -194,20 +172,6 @@
 
 	@Test
-	public void testAgentsUpdatesMOPACProgress() {
-		party.connect(connection);
-		party.notifyChange(mopacSettings);
-		// in mopac, progress happens only after optin phase
-		party.notifyChange(new YourTurn());
-		verify(progress, times(0)).advance();
-		party.notifyChange(
-				new Voting(Collections.emptyList(), Collections.emptyMap()));
-		verify(progress, times(0)).advance();
-		party.notifyChange(new OptIn(Collections.emptyList()));
-		verify(progress, times(1)).advance();
-	}
-
-	@Test
 	public void testGetCapabilities() {
-		assertTrue(party.getCapabilities().getBehaviours().contains(SAOP));
+		assertTrue(party.getCapabilities().getProtocols().contains(SAOP));
 	}
 
@@ -223,37 +187,4 @@
 	}
 
-	@Test
-	public void testVoting() throws URISyntaxException {
-		party.connect(connection);
-		party.notifyChange(mopacSettings);
-
-		Bid bid = findGoodBid();
-		Offer offer = new Offer(PARTY1, bid);
-		party.notifyChange(new Voting(Arrays.asList(offer),
-				Collections.singletonMap(PARTY1, 1)));
-		assertEquals(1, connection.getActions().size());
-		Action action = connection.getActions().get(0);
-		assertTrue(action instanceof Votes);
-		assertEquals(1, ((Votes) action).getVotes().size());
-		assertEquals(bid,
-				((Votes) action).getVotes().iterator().next().getBid());
-	}
-
-	@Test
-	public void testVotingWithValue() throws URISyntaxException {
-		party.connect(connection);
-		party.notifyChange(mopac2Settings);
-
-		Bid bid = findGoodBid();
-		Offer offer = new Offer(PARTY1, bid);
-		party.notifyChange(new Voting(Arrays.asList(offer),
-				Collections.singletonMap(PARTY1, 1)));
-		assertEquals(1, connection.getActions().size());
-		Action action = connection.getActions().get(0);
-		assertTrue(action instanceof VotesWithValue);
-		assertEquals(1, ((VotesWithValue) action).getVotes().size());
-		assertEquals(bid, ((VotesWithValue) action).getVotes().iterator().next()
-				.getBid());
-	}
 }
 
@@ -265,5 +196,5 @@
  */
 class TestConnection extends DefaultListenable<Inform>
-		implements ConnectionEnd<Inform, Action> {
+		implements Connection<Inform, Action> {
 	private List<Action> actions = new LinkedList<>();
 
Index: exampleparties/randomparty/src/test/resources/testprofile.json
===================================================================
--- exampleparties/randomparty/src/test/resources/testprofile.json	(revision 53)
+++ exampleparties/randomparty/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"
 			}
 		}
+		
 	}
 }
