Index: simplerunner/src/test/java/geniusweb/simplerunner/SessionRunnerE2ETest.java
===================================================================
--- simplerunner/src/test/java/geniusweb/simplerunner/SessionRunnerE2ETest.java	(revision 32)
+++ simplerunner/src/test/java/geniusweb/simplerunner/SessionRunnerE2ETest.java	(revision 33)
@@ -2,4 +2,9 @@
 
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 
 import java.io.IOException;
@@ -9,4 +14,5 @@
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.logging.Level;
 
 import org.junit.Before;
@@ -32,5 +38,5 @@
 	private final ObjectMapper jackson = new ObjectMapper();
 	private NegoRunner runner;
-	private Reporter logger = new ReportToLogger("test");
+	private Reporter logger = spy(new ReportToLogger("test"));
 	private String filename;
 
@@ -40,4 +46,5 @@
 				.asList(new Object[][] { { "src/test/resources/settings.json" },
 						{ "src/test/resources/settings2.json" },
+						{ "src/test/resources/settingsbadprofile.json" },
 						{ "src/test/resources/shaoptoursettings.json" },
 						{ "src/test/resources/mopac.json" },
@@ -69,6 +76,8 @@
 	public void runTest() throws IOException {
 		runner.run();
+		System.out.println("Final state:\n" + runner.getProtocol().getState());
 		assertTrue(runner.isProperlyStopped());
-		System.out.println("Final state:\n" + runner.getProtocol().getState());
+		verify(logger, times(0)).log(eq(Level.WARNING), any());
+		verify(logger, times(0)).log(eq(Level.SEVERE), any());
 	}
 
Index: simplerunner/src/test/java/geniusweb/simplerunner/SessionRunnerTest.java
===================================================================
--- simplerunner/src/test/java/geniusweb/simplerunner/SessionRunnerTest.java	(revision 32)
+++ simplerunner/src/test/java/geniusweb/simplerunner/SessionRunnerTest.java	(revision 33)
@@ -20,5 +20,4 @@
 import geniusweb.protocol.NegoState;
 import geniusweb.protocol.ProtocolException;
-import geniusweb.protocol.partyconnection.ProtocolToPartyConnFactory;
 import geniusweb.protocol.session.SessionProtocol;
 import geniusweb.protocol.session.SessionSettings;
@@ -48,5 +47,5 @@
 	public void smokeTest() {
 		new NegoRunner(mock(SessionSettings.class),
-				mock(ProtocolToPartyConnFactory.class), logger, 5000);
+				mock(ClassPathConnectionFactory.class), logger, 5000);
 	}
 
@@ -57,6 +56,6 @@
 		when(settings.getProtocol(logger)).thenReturn(protocol);
 		@SuppressWarnings("unchecked")
-		ProtocolToPartyConnFactory factory = mock(
-				ProtocolToPartyConnFactory.class);
+		ClassPathConnectionFactory factory = mock(
+				ClassPathConnectionFactory.class);
 
 		NegoRunner runner = spy(
@@ -80,6 +79,6 @@
 		Reporter logger = mock(Reporter.class);
 		@SuppressWarnings("unchecked")
-		ProtocolToPartyConnFactory factory = mock(
-				ProtocolToPartyConnFactory.class);
+		ClassPathConnectionFactory factory = mock(
+				ClassPathConnectionFactory.class);
 		NegoRunner runner = spy(
 				new NegoRunner(settings, factory, logger, 5000) {
@@ -98,5 +97,5 @@
 		listener.getValue().notifyChange(finishedEvent);
 		verify(runner, times(1)).stop();
-		verify(logger, times(1)).log(eq(Level.INFO), any(String.class));
+		verify(logger, times(0)).log(eq(Level.WARNING), any(String.class));
 
 	}
@@ -111,6 +110,6 @@
 		when(protocol.getState()).thenReturn(state);
 		@SuppressWarnings("unchecked")
-		ProtocolToPartyConnFactory factory = mock(
-				ProtocolToPartyConnFactory.class);
+		ClassPathConnectionFactory factory = mock(
+				ClassPathConnectionFactory.class);
 		NegoRunner runner = spy(
 				new NegoRunner(settings, factory, logger, 5000) {
Index: simplerunner/src/test/resources/jobs/jobs1.json
===================================================================
--- simplerunner/src/test/resources/jobs/jobs1.json	(revision 32)
+++ simplerunner/src/test/resources/jobs/jobs1.json	(revision 33)
@@ -3,5 +3,5 @@
 		"issueUtilities": {
 			"salary": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"2000": 0,
@@ -14,5 +14,5 @@
 			},
 			"fte": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"0.6": 0.25,
@@ -23,5 +23,5 @@
 			},
 			"work from home": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"0": 0.333333333,
@@ -32,5 +32,5 @@
 			},
 			"lease car": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"yes": 1,
@@ -40,5 +40,5 @@
 			},
 			"permanent contract": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"yes": 1,
@@ -48,5 +48,5 @@
 			},
 			"career development opportunities": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"low": 0,
Index: simplerunner/src/test/resources/jobs/jobs2.json
===================================================================
--- simplerunner/src/test/resources/jobs/jobs2.json	(revision 32)
+++ simplerunner/src/test/resources/jobs/jobs2.json	(revision 33)
@@ -3,5 +3,5 @@
 		"issueUtilities": {
 			"salary": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"2000": 1.0,
@@ -14,5 +14,5 @@
 			},
 			"fte": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"0.6": 0.363636363636363636,
@@ -23,5 +23,5 @@
 			},
 			"work from home": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"0": 1.0,
@@ -32,5 +32,5 @@
 			},
 			"lease car": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"yes": 0,
@@ -40,5 +40,5 @@
 			},
 			"permanent contract": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"yes": 0.23809523809523808,
@@ -48,5 +48,5 @@
 			},
 			"career development opportunities": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"low": 1.0,
Index: simplerunner/src/test/resources/mopac.json
===================================================================
--- simplerunner/src/test/resources/mopac.json	(revision 32)
+++ simplerunner/src/test/resources/mopac.json	(revision 33)
@@ -14,5 +14,5 @@
 		} ]}} ],
 		"deadline": {
-			"deadlinetime": {
+			"DeadlineTime": {
 				"durationms": 2000000
 			}
Index: simplerunner/src/test/resources/party/party1.json
===================================================================
--- simplerunner/src/test/resources/party/party1.json	(revision 32)
+++ simplerunner/src/test/resources/party/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,
Index: simplerunner/src/test/resources/party/party2.json
===================================================================
--- simplerunner/src/test/resources/party/party2.json	(revision 32)
+++ simplerunner/src/test/resources/party/party2.json	(revision 33)
@@ -4,5 +4,5 @@
 		"issueUtilities": {
 			"Food": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Chips and Nuts": 0.24,
@@ -14,5 +14,5 @@
 			},
 			"Drinks": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Non-Alcoholic": 0.33,
@@ -24,5 +24,5 @@
 			},
 			"Location": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Party Tent": 0.3,
@@ -34,5 +34,5 @@
 			},
 			"Invitations": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Plain": 0.84,
@@ -44,5 +44,5 @@
 			},
 			"Music": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"MP3": 0.94,
@@ -53,5 +53,5 @@
 			},
 			"Cleanup": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Water and Soap": 1,
Index: simplerunner/src/test/resources/party/party3.json
===================================================================
--- simplerunner/src/test/resources/party/party3.json	(revision 32)
+++ simplerunner/src/test/resources/party/party3.json	(revision 33)
@@ -4,5 +4,5 @@
 		"issueUtilities": {
 			"Food": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Chips and Nuts": 1,
@@ -14,5 +14,5 @@
 			},
 			"Drinks": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Non-Alcoholic": 0.99,
@@ -24,5 +24,5 @@
 			},
 			"Location": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Party Tent": 0.98,
@@ -34,5 +34,5 @@
 			},
 			"Invitations": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Plain": 0.99,
@@ -44,5 +44,5 @@
 			},
 			"Music": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"MP3": 0.9,
@@ -53,5 +53,5 @@
 			},
 			"Cleanup": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Water and Soap": 1,
Index: simplerunner/src/test/resources/party/party4.json
===================================================================
--- simplerunner/src/test/resources/party/party4.json	(revision 32)
+++ simplerunner/src/test/resources/party/party4.json	(revision 33)
@@ -4,5 +4,5 @@
 		"issueUtilities": {
 			"Food": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Chips and Nuts": 0.98,
@@ -14,5 +14,5 @@
 			},
 			"Drinks": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Non-Alcoholic": 0.99,
@@ -24,5 +24,5 @@
 			},
 			"Location": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Party Tent": 0.58,
@@ -34,5 +34,5 @@
 			},
 			"Invitations": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Plain": 0.99,
@@ -44,5 +44,5 @@
 			},
 			"Music": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"MP3": 0.65,
@@ -53,5 +53,5 @@
 			},
 			"Cleanup": {
-				"discreteutils": {
+				"DiscreteValueSetUtilities": {
 					"valueUtilities": {
 						"Water and Soap": 0.27,
Index: simplerunner/src/test/resources/settings.json
===================================================================
--- simplerunner/src/test/resources/settings.json	(revision 32)
+++ simplerunner/src/test/resources/settings.json	(revision 33)
@@ -14,5 +14,5 @@
 		],
 		"deadline": {
-			"deadlinetime": {
+			"DeadlineTime": {
 				"durationms": 100
 			}
Index: simplerunner/src/test/resources/settings2.json
===================================================================
--- simplerunner/src/test/resources/settings2.json	(revision 32)
+++ simplerunner/src/test/resources/settings2.json	(revision 33)
@@ -15,5 +15,5 @@
 		],
 		"deadline": {
-			"deadlinetime": {
+			"DeadlineTime": {
 				"durationms": 100
 			}
Index: simplerunner/src/test/resources/settingsbadprofile.json
===================================================================
--- simplerunner/src/test/resources/settingsbadprofile.json	(revision 33)
+++ simplerunner/src/test/resources/settingsbadprofile.json	(revision 33)
@@ -0,0 +1,23 @@
+{
+	"SAOPSettings": {
+		"participants": [
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"classpath:geniusweb.exampleparties.randomparty.RandomParty", "parameters":{}},
+			"profile": "file:src/test/resources/jobs/jobs1.json"
+		} ]}}
+		, 
+		{"TeamInfo":{"parties":[
+		{
+			"party": {"partyref":"classpath:geniusweb.exampleparties.randomparty.RandomParty","parameters":{}},
+			"profile": "file:src/test/resources/jobs/nosuchprofile.json"
+		} ]}}
+		],
+		"deadline": {
+			"DeadlineTime": {
+				"durationms": 100
+			}
+		}
+		
+	}
+}
Index: simplerunner/src/test/resources/shaoptoursettings.json
===================================================================
--- simplerunner/src/test/resources/shaoptoursettings.json	(revision 32)
+++ simplerunner/src/test/resources/shaoptoursettings.json	(revision 33)
@@ -53,5 +53,5 @@
 				],
 				"deadline": {
-					"deadlinerounds": {
+					"DeadlineRounds": {
 						"rounds": 10,
 						"durationms": 1000
Index: simplerunner/src/test/resources/tournament.json
===================================================================
--- simplerunner/src/test/resources/tournament.json	(revision 32)
+++ simplerunner/src/test/resources/tournament.json	(revision 33)
@@ -54,5 +54,5 @@
 				],
 				"deadline": {
-					"deadlinerounds": {
+					"DeadlineRounds": {
 						"rounds": 10,
 						"durationms": 1000
