Index: src/main/webapp/domainsrepo/laptop/laptop.json
===================================================================
--- src/main/webapp/domainsrepo/laptop/laptop.json	(revision 3)
+++ src/main/webapp/domainsrepo/laptop/laptop.json	(revision 3)
@@ -0,0 +1,26 @@
+{
+	"name": "laptop",
+	"issuesValues": {
+		"Brand": {
+			"values": [
+				"Dell",
+				"Macintosh",
+				"HP"
+			]
+		},
+		"Harddisk": {
+			"values": [
+				"128 GB",
+				"512 GB",
+				"2 TB"
+			]
+		},
+		"External Monitor": {
+			"values": [
+				"19inch HD",
+				"32inch 4K",
+				"55inch 8K"
+			]
+		}
+	}
+}
Index: src/main/webapp/domainsrepo/laptop/laptopBuyer.json
===================================================================
--- src/main/webapp/domainsrepo/laptop/laptopBuyer.json	(revision 3)
+++ src/main/webapp/domainsrepo/laptop/laptopBuyer.json	(revision 3)
@@ -0,0 +1,65 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"issueUtilities": {
+			"Brand": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Dell": 0.33,
+						"Macintosh": 0.66,
+						"HP": 1
+					}
+				}
+			},
+			"Harddisk": {
+				"discreteutils": {
+					"valueUtilities": {
+						"128 GB": 1,
+						"512 GB": 0.66,
+						"2 TB": 0.33
+					}
+				}
+			},
+			"External Monitor": {
+				"discreteutils": {
+					"valueUtilities": {
+						"19inch HD": 1,
+						"32inch 4K": 0.33,
+						"55inch 8K": 0.66
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Brand": 0.45,
+			"Harddisk": 0.38,
+			"External Monitor": 0.17
+		},
+		"domain": {
+			"name": "laptop",
+			"issuesValues": {
+				"Brand": {
+					"values": [
+						"Dell",
+						"Macintosh",
+						"HP"
+					]
+				},
+				"Harddisk": {
+					"values": [
+						"128 GB",
+						"512 GB",
+						"2 TB"
+					]
+				},
+				"External Monitor": {
+					"values": [
+						"19inch HD",
+						"32inch 4K",
+						"55inch 8K"
+					]
+				}
+			}
+		},
+		"name": "laptopBuyer"
+	}
+}
Index: src/main/webapp/domainsrepo/laptop/laptopSeller.json
===================================================================
--- src/main/webapp/domainsrepo/laptop/laptopSeller.json	(revision 3)
+++ src/main/webapp/domainsrepo/laptop/laptopSeller.json	(revision 3)
@@ -0,0 +1,65 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"issueUtilities": {
+			"Brand": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Dell": 0.34,
+						"Macintosh": 1,
+						"HP": 0.67
+					}
+				}
+			},
+			"Harddisk": {
+				"discreteutils": {
+					"valueUtilities": {
+						"128 GB": 0.65,
+						"512 GB": 0.98,
+						"2 TB": 0.32
+					}
+				}
+			},
+			"External Monitor": {
+				"discreteutils": {
+					"valueUtilities": {
+						"19inch HD": 1,
+						"32inch 4K": 0.68,
+						"55inch 8K": 0.33
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Brand": 0.37,
+			"Harddisk": 0.18,
+			"External Monitor": 0.45
+		},
+		"domain": {
+			"name": "laptop",
+			"issuesValues": {
+				"Brand": {
+					"values": [
+						"Dell",
+						"Macintosh",
+						"HP"
+					]
+				},
+				"Harddisk": {
+					"values": [
+						"128 GB",
+						"512 GB",
+						"2 TB"
+					]
+				},
+				"External Monitor": {
+					"values": [
+						"19inch HD",
+						"32inch 4K",
+						"55inch 8K"
+					]
+				}
+			}
+		},
+		"name": "laptopSeller"
+	}
+}
Index: src/main/webapp/domainsrepo/party/party.json
===================================================================
--- src/main/webapp/domainsrepo/party/party.json	(revision 3)
+++ src/main/webapp/domainsrepo/party/party.json	(revision 3)
@@ -0,0 +1,52 @@
+{
+	"name": "party",
+	"issuesValues": {
+		"Food": {
+			"values": [
+				"Chips and Nuts",
+				"Finger-Food",
+				"Handmade Food",
+				"Catering"
+			]
+		},
+		"Drinks": {
+			"values": [
+				"Non-Alcoholic",
+				"Beer Only",
+				"Handmade Cocktails",
+				"Catering"
+			]
+		},
+		"Location": {
+			"values": [
+				"Party Tent'",
+				"Your Dorm",
+				"Party Room",
+				"Ballroom"
+			]
+		},
+		"Invitations": {
+			"values": [
+				"Plain",
+				"Photo",
+				"Custom, Handmade",
+				"Custom, Printed"
+			]
+		},
+		"Music": {
+			"values": [
+				"MP3",
+				"DJ",
+				"Band"
+			]
+		},
+		"Cleanup": {
+			"values": [
+				"Water and Soap",
+				"Specialized Materials",
+				"Special Equiment",
+				"Hired Help"
+			]
+		}
+	}
+}
Index: src/main/webapp/domainsrepo/party/party1.json
===================================================================
--- src/main/webapp/domainsrepo/party/party1.json	(revision 3)
+++ src/main/webapp/domainsrepo/party/party1.json	(revision 3)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party1",
+		"issueUtilities": {
+			"Food": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Chips and Nuts": 0.75,
+						"Finger-Food": 0.52,
+						"Handmade Food": 0.51,
+						"Catering": 0.25
+					}
+				}
+			},
+			"Drinks": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.263,
+						"Beer Only": 0.98,
+						"Handmade Cocktails": 0.672,
+						"Catering": 0.334
+					}
+				}
+			},
+			"Location": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Party Tent": 0.52,
+						"Your Dorm": 0.23,
+						"Party Room": 0.99,
+						"Ballroom": 0.77
+					}
+				}
+			},
+			"Invitations": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Plain": 0.24,
+						"Photo": 0.74,
+						"Custom, Handmade": 1,
+						"Custom, Printed": 0.48
+					}
+				}
+			},
+			"Music": {
+				"discreteutils": {
+					"valueUtilities": {
+						"MP3": 0.65,
+						"DJ": 0.99,
+						"Band": 0.35
+					}
+				}
+			},
+			"Cleanup": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Water and Soap": 0.65,
+						"Specialized Materials": 0.96,
+						"Special Equiment": 0.32,
+						"Hired Help": 0.31
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.19,
+			"Drinks": 0.28,
+			"Location": 0.19,
+			"Invitations": 0.05,
+			"Music": 0.19,
+			"Cleanup": 0.10
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent'",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: src/main/webapp/domainsrepo/party/party2.json
===================================================================
--- src/main/webapp/domainsrepo/party/party2.json	(revision 3)
+++ src/main/webapp/domainsrepo/party/party2.json	(revision 3)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party2",
+		"issueUtilities": {
+			"Food": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Chips and Nuts": 0.24,
+						"Finger-Food": 0.52,
+						"Handmade Food": 0.71,
+						"Catering": 0.97
+					}
+				}
+			},
+			"Drinks": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.33,
+						"Beer Only": 0.22,
+						"Handmade Cocktails": 1,
+						"Catering": 0.11
+					}
+				}
+			},
+			"Location": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Party Tent": 0.3,
+						"Your Dorm": 0.23,
+						"Party Room": 0.99,
+						"Ballroom": 0.09
+					}
+				}
+			},
+			"Invitations": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Plain": 0.84,
+						"Photo": 0.24,
+						"Custom, Handmade": 0.12,
+						"Custom, Printed": 0.98
+					}
+				}
+			},
+			"Music": {
+				"discreteutils": {
+					"valueUtilities": {
+						"MP3": 0.94,
+						"DJ": 0.32,
+						"Band": 0.64
+					}
+				}
+			},
+			"Cleanup": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Water and Soap": 1,
+						"Specialized Materials": 0.36,
+						"Special Equiment": 0.12,
+						"Hired Help": 0.21
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.095,
+			"Drinks": 0.228,
+			"Location": 0.109,
+			"Invitations": 0.214,
+			"Music": 0.108,
+			"Cleanup": 0.246
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent'",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: src/main/webapp/domainsrepo/party/party3.json
===================================================================
--- src/main/webapp/domainsrepo/party/party3.json	(revision 3)
+++ src/main/webapp/domainsrepo/party/party3.json	(revision 3)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party3",
+		"issueUtilities": {
+			"Food": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Chips and Nuts": 1,
+						"Finger-Food": 0.75,
+						"Handmade Food": 0.6,
+						"Catering": 0.5
+					}
+				}
+			},
+			"Drinks": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.99,
+						"Beer Only": 0.02,
+						"Handmade Cocktails": 0.75,
+						"Catering": 0.03
+					}
+				}
+			},
+			"Location": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Party Tent": 0.98,
+						"Your Dorm": 0.8,
+						"Party Room": 0.4,
+						"Ballroom": 0.9
+					}
+				}
+			},
+			"Invitations": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Plain": 0.99,
+						"Photo": 0.67,
+						"Custom, Handmade": 0.52,
+						"Custom, Printed": 0.8
+					}
+				}
+			},
+			"Music": {
+				"discreteutils": {
+					"valueUtilities": {
+						"MP3": 0.9,
+						"DJ": 0.75,
+						"Band": 1
+					}
+				}
+			},
+			"Cleanup": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Water and Soap": 1,
+						"Specialized Materials": 0.51,
+						"Special Equiment": 0.67,
+						"Hired Help": 0.99
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.264,
+			"Drinks": 0.190,
+			"Location": 0.223,
+			"Invitations": 0.058,
+			"Music": 0.168,
+			"Cleanup": 0.097
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent'",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: src/main/webapp/domainsrepo/party/party4.json
===================================================================
--- src/main/webapp/domainsrepo/party/party4.json	(revision 3)
+++ src/main/webapp/domainsrepo/party/party4.json	(revision 3)
@@ -0,0 +1,126 @@
+{
+	"LinearAdditiveUtilitySpace": {
+		"name": "party4",
+		"issueUtilities": {
+			"Food": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Chips and Nuts": 0.98,
+						"Finger-Food": 0.75,
+						"Handmade Food": 0.5,
+						"Catering": 0.24
+					}
+				}
+			},
+			"Drinks": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Non-Alcoholic": 0.99,
+						"Beer Only": 0.72,
+						"Handmade Cocktails": 0.55,
+						"Catering": 0.23
+					}
+				}
+			},
+			"Location": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Party Tent": 0.58,
+						"Your Dorm": 0.75,
+						"Party Room": 1,
+						"Ballroom": 0.22
+					}
+				}
+			},
+			"Invitations": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Plain": 0.99,
+						"Photo": 0.47,
+						"Custom, Handmade": 0.72,
+						"Custom, Printed": 0.28
+					}
+				}
+			},
+			"Music": {
+				"discreteutils": {
+					"valueUtilities": {
+						"MP3": 0.65,
+						"DJ": 0.95,
+						"Band": 0.33
+					}
+				}
+			},
+			"Cleanup": {
+				"discreteutils": {
+					"valueUtilities": {
+						"Water and Soap": 0.27,
+						"Specialized Materials": 0.51,
+						"Special Equiment": 0.97,
+						"Hired Help": 0.79
+					}
+				}
+			}
+		},
+		"issueWeights": {
+			"Food": 0.190,
+			"Drinks": 0.238,
+			"Location": 0.095,
+			"Invitations": 0.047,
+			"Music": 0.285,
+			"Cleanup": 0.145
+		},
+		"domain": {
+			"name": "party",
+			"issuesValues": {
+				"Food": {
+					"values": [
+						"Chips and Nuts",
+						"Finger-Food",
+						"Handmade Food",
+						"Catering"
+					]
+				},
+				"Drinks": {
+					"values": [
+						"Non-Alcoholic",
+						"Beer Only",
+						"Handmade Cocktails",
+						"Catering"
+					]
+				},
+				"Location": {
+					"values": [
+						"Party Tent'",
+						"Your Dorm",
+						"Party Room",
+						"Ballroom"
+					]
+				},
+				"Invitations": {
+					"values": [
+						"Plain",
+						"Photo",
+						"Custom, Handmade",
+						"Custom, Printed"
+					]
+				},
+				"Music": {
+					"values": [
+						"MP3",
+						"DJ",
+						"Band"
+					]
+				},
+				"Cleanup": {
+					"values": [
+						"Water and Soap",
+						"Specialized Materials",
+						"Special Equiment",
+						"Hired Help"
+					]
+				}
+			}
+		}
+	}
+}
Index: src/test/java/geniusweb/clienttest/JavaClientTest.java
===================================================================
--- src/test/java/geniusweb/clienttest/JavaClientTest.java	(revision 2)
+++ src/test/java/geniusweb/clienttest/JavaClientTest.java	(revision 3)
@@ -5,6 +5,8 @@
 
 import java.io.IOException;
+import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 
 import org.junit.AfterClass;
@@ -13,4 +15,6 @@
 import org.python.util.PythonInterpreter;
 
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.neovisionaries.ws.client.WebSocket;
 import com.neovisionaries.ws.client.WebSocketAdapter;
@@ -56,24 +60,18 @@
 	@Test
 	public void clientSmokeTest() throws IOException {
-		WebSocketFactory factory = new WebSocketFactory()
-				.setConnectionTimeout(5000);
-		WebSocket ws = factory.createSocket(
-				"ws://localhost:8080/profilesserver/websocket/liststream");
+		WebSocketFactory factory = new WebSocketFactory().setConnectionTimeout(5000);
+		WebSocket ws = factory.createSocket("ws://localhost:8080/profilesserver/websocket/liststream");
 	}
 
 	@Test
-	public void testGetList()
-			throws IOException, InterruptedException, WebSocketException {
+	public void testGetList() throws IOException, InterruptedException, WebSocketException {
 		final List<String> received = new LinkedList<>();
 		Thread.sleep(5000);
-		WebSocketFactory factory = new WebSocketFactory()
-				.setConnectionTimeout(20000);
-		WebSocket ws = factory.createSocket(
-				"ws://localhost:8080/profilesserver/websocket/liststream");
+		WebSocketFactory factory = new WebSocketFactory().setConnectionTimeout(20000);
+		WebSocket ws = factory.createSocket("ws://localhost:8080/profilesserver/websocket/liststream");
 
 		ws.addListener(new WebSocketAdapter() {
 			@Override
-			public void onTextMessage(WebSocket websocket, String message)
-					throws Exception {
+			public void onTextMessage(WebSocket websocket, String message) throws Exception {
 				System.out.println("received message: " + message);
 				received.add(message);
@@ -84,12 +82,22 @@
 
 		Thread.sleep(2000);
-		assertEquals(1, received.size());
-		assertTrue(received.get(0).matches(JSON));
-		System.out.println(JSON);
+
+		assertEquals(1, received.size()); // 1 answer received
+
+		ObjectMapper mapper = new ObjectMapper();
+		TypeReference<HashMap<String, Object>> typeRef = new TypeReference<HashMap<String, Object>>() {
+		};
+		Map<String, Object> map = mapper.readValue(received.get(0), typeRef);
+
+		List<String> domains= new LinkedList<>();
+		for (String key: map.keySet()) {
+			domains.add(key.substring(key.indexOf("get")));
+			}
+		assertTrue(domains.contains("get/jobs"));
+		assertTrue(domains.contains("get/7issues"));
 	}
 
 	@Test
-	public void testExample()
-			throws WebSocketException, InterruptedException, IOException {
+	public void testExample() throws WebSocketException, InterruptedException, IOException {
 		DownloadProfileExample test = new DownloadProfileExample();
 		test.run();
@@ -98,6 +106,5 @@
 
 	@Test
-	public void testExample2()
-			throws WebSocketException, InterruptedException, IOException {
+	public void testExample2() throws WebSocketException, InterruptedException, IOException {
 		DownloadProfileExample2 test = new DownloadProfileExample2();
 		assertEquals(JOBS1PROFILE, test.getReceived());
@@ -112,6 +119,5 @@
 
 		// Create factory and coerce Jython calculator object
-		JythonObjectFactory factory = new JythonObjectFactory(
-				WebSocketAdapter.class, "PythonDownloadProfile",
+		JythonObjectFactory factory = new JythonObjectFactory(WebSocketAdapter.class, "PythonDownloadProfile",
 				"PythonDownloadProfile");
 		factory.createObject();
Index: src/test/java/geniusweb/profilesserver/AutoUpdatingProfilesFactoryTest.java
===================================================================
--- src/test/java/geniusweb/profilesserver/AutoUpdatingProfilesFactoryTest.java	(revision 2)
+++ src/test/java/geniusweb/profilesserver/AutoUpdatingProfilesFactoryTest.java	(revision 3)
@@ -119,7 +119,8 @@
 	@Test
 	public void getDomainsTest() {
-		assertEquals(2, factory.getDomains().size());
-		assertEquals(JOBS, factory.getDomains().get(0));
-		assertEquals("7issues", factory.getDomains().get(1));
+		assertTrue(factory.getDomains().size() > 2);
+		assertTrue(factory.getDomains().contains(JOBS));
+		assertTrue(factory.getDomains().contains(JOBS));
+		assertTrue(factory.getDomains().contains("7issues"));
 
 	}
