Index: java/main/src/test/java/com/framsticks/core/ListChangeTest.java
===================================================================
--- java/main/src/test/java/com/framsticks/core/ListChangeTest.java	(revision 87)
+++ java/main/src/test/java/com/framsticks/core/ListChangeTest.java	(revision 87)
@@ -0,0 +1,66 @@
+package com.framsticks.core;
+
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import com.framsticks.core.ListChange.Action;
+import com.framsticks.params.FramsClass;
+import com.framsticks.params.ListSource;
+import com.framsticks.params.ReflectionAccess;
+import com.framsticks.test.TestConfiguration;
+
+import static org.fest.assertions.Assertions.*;
+
+@Test
+public class ListChangeTest extends TestConfiguration {
+
+	FramsClass framsClass;
+	ReflectionAccess access;
+	ListChange listChange;
+
+	@BeforeMethod
+	public void clearListChange() {
+		listChange = new ListChange();
+	}
+
+	// @Test
+	// public void testEnumBehaviour() {
+	// 	for (Action a : Action.class.getEnumConstants()) {
+	// 		// assertThat(Integer.class.cast(a)).isEqualTo(a.ordinal());
+	// 		assertThat(Action.class.cast(a.ordinal())).isEqualTo(a);
+	// 	}
+
+	// }
+
+	@Test
+	public void testFramsClass() {
+		framsClass = FramsClass.build().forClass(ListChange.class);
+		assertThat(framsClass.getParamCount()).isEqualTo(3);
+	}
+
+	@Test(dependsOnMethods = "testFramsClass")
+	public void createReflectionAccess() {
+		access = new ReflectionAccess(ListChange.class, framsClass);
+	}
+
+	@Test(dependsOnMethods = "createReflectionAccess")
+	public void manualAccess() {
+		access.select(listChange);
+
+		access.set("type", 2);
+		assertThat(listChange.action).isEqualTo(Action.Modify);
+
+		listChange.action = Action.Remove;
+		assertThat(access.get("type", Integer.class)).isEqualTo(1);
+	}
+
+	@Test(dependsOnMethods = "createReflectionAccess")
+	public void load() throws Exception {
+		access.select(listChange).load(ListSource.createFrom("type:2", "pos:5", "id:test"));
+
+		assertThat(listChange.action).isEqualTo(Action.Modify);
+		assertThat(listChange.position).isEqualTo(5);
+		assertThat(listChange.identifier).isEqualTo("test");
+	}
+
+}
Index: java/main/src/test/java/com/framsticks/core/PathTest.java
===================================================================
--- java/main/src/test/java/com/framsticks/core/PathTest.java	(revision 87)
+++ java/main/src/test/java/com/framsticks/core/PathTest.java	(revision 87)
@@ -0,0 +1,31 @@
+package com.framsticks.core;
+
+// import static org.mutabilitydetector.unittesting.MutabilityAssert.*;
+// import static org.mutabilitydetector.unittesting.MutabilityMatchers.*;
+// import static org.mutabilitydetector.unittesting.AllowedReason.*;
+
+// import java.util.LinkedList;
+
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import com.framsticks.test.TestConfiguration;
+
+@Test
+public class PathTest extends TestConfiguration {
+
+	@BeforeClass
+	public void setUp() {
+		// assertInstancesOf(Path.class,
+		// 		areImmutable(),
+		// 		allowingNonFinalFields(),
+		// 		provided(String.class).isAlsoImmutable(),
+		// 		provided(LinkedList.class).isAlsoImmutable()
+		// 		);
+	}
+
+	@Test
+	public void testPath() {
+	}
+
+}
Index: java/main/src/test/java/com/framsticks/core/ProgramTest.java
===================================================================
--- java/main/src/test/java/com/framsticks/core/ProgramTest.java	(revision 87)
+++ java/main/src/test/java/com/framsticks/core/ProgramTest.java	(revision 87)
@@ -0,0 +1,24 @@
+package com.framsticks.core;
+
+import java.io.InputStream;
+
+import org.testng.annotations.Test;
+
+// import com.framsticks.gui.Browser;
+import com.framsticks.test.TestConfiguration;
+
+import static org.fest.assertions.Assertions.*;
+
+@Test
+public class ProgramTest extends TestConfiguration {
+
+	@Test
+	public void testConfiguration() {
+		InputStream stream = ProgramTest.class.getResourceAsStream("/configs/test.xml");
+		assertThat(stream).isNotNull();
+
+
+		//assertThat(object).isInstanceOf(Browser.class);
+	}
+
+}
Index: java/main/src/test/java/com/framsticks/gui/BrowserTest.java
===================================================================
--- java/main/src/test/java/com/framsticks/gui/BrowserTest.java	(revision 86)
+++ java/main/src/test/java/com/framsticks/gui/BrowserTest.java	(revision 87)
@@ -14,5 +14,4 @@
 import org.testng.annotations.*;
 
-import com.framsticks.communication.ClientConnection;
 import com.framsticks.remote.RemoteInstance;
 import com.framsticks.test.TestConfiguration;
@@ -42,5 +41,5 @@
 		RemoteInstance localhost = new RemoteInstance();
 		localhost.setName("localhost");
-		localhost.setConnection(new ClientConnection("localhost:9009"));
+		localhost.setAddress("localhost:9009");
 
 		browser.addEndpointForInstance(localhost);
Index: java/main/src/test/java/com/framsticks/model/CreatureTest.java
===================================================================
--- java/main/src/test/java/com/framsticks/model/CreatureTest.java	(revision 86)
+++ java/main/src/test/java/com/framsticks/model/CreatureTest.java	(revision 87)
@@ -4,5 +4,4 @@
 
 import com.framsticks.params.FramsClass;
-import com.framsticks.params.FramsClassBuilder;
 import com.framsticks.params.ReflectionAccess;
 import com.framsticks.params.types.ArrayListParam;
@@ -23,5 +22,5 @@
 	@Test
 	public void testFramsClass() {
-		framsClass = FramsClassBuilder.buildForClass(Creature.class);
+		framsClass = FramsClass.build().forClass(Creature.class);
 
 		assertThat(framsClass).describedAs("framsClass").isNotNull();
@@ -35,5 +34,5 @@
 	}
 
-	@Test
+	@Test(dependsOnMethods = "testFramsClass")
 	public void testReflectionAccess() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
 		access = new ReflectionAccess(Creature.class, framsClass);
Index: java/main/src/test/java/com/framsticks/params/ParamBuilderTest.java
===================================================================
--- java/main/src/test/java/com/framsticks/params/ParamBuilderTest.java	(revision 86)
+++ java/main/src/test/java/com/framsticks/params/ParamBuilderTest.java	(revision 87)
@@ -18,5 +18,5 @@
 	@Test
 	public void createBuilderFramsClass() {
-		builderFramsClass = FramsClassBuilder.buildForClass(ParamBuilder.class);
+		builderFramsClass = FramsClass.build().forClass(ParamBuilder.class);
 
 		assertThat(builderFramsClass.getParamCount()).isEqualTo(6);
Index: java/main/src/test/java/com/framsticks/parsers/F0ParserTest.java
===================================================================
--- java/main/src/test/java/com/framsticks/parsers/F0ParserTest.java	(revision 86)
+++ java/main/src/test/java/com/framsticks/parsers/F0ParserTest.java	(revision 87)
@@ -2,8 +2,10 @@
 
 import org.testng.annotations.*;
+
 import com.framsticks.model.*;
 import com.framsticks.model.Package;
 import com.framsticks.params.*;
 import com.framsticks.params.types.FloatParam;
+import com.framsticks.params.types.StringParam;
 import com.framsticks.test.TestConfiguration;
 import com.framsticks.util.math.Point3d;
@@ -34,9 +36,11 @@
 	public void primitiveParam() {
 		FramsClass joint = schema.getRegistry().getInfoFromCache("j");
-		PrimitiveParam dx = joint.getParamEntry("dx", PrimitiveParam.class);
+		PrimitiveParam<?> dx = joint.getParamEntry("dx", PrimitiveParam.class);
 		assertThat(dx).isInstanceOf(FloatParam.class);
 		assertThat(schema.getNeuroClasses().size()).isEqualTo(21);
 		assertThat(dx.getName()).isEqualTo("delta.x");
 		assertThat(dx.getMin(Double.class)).isEqualTo(-2.0, delta(0.0));
+
+		assertThat(schema.getRegistry().getInfoFromCache("n").getParamEntry("d", StringParam.class).getDef(String.class)).isEqualTo("N");
 	}
 
Index: java/main/src/test/java/com/framsticks/parsers/SchemaTest.java
===================================================================
--- java/main/src/test/java/com/framsticks/parsers/SchemaTest.java	(revision 87)
+++ java/main/src/test/java/com/framsticks/parsers/SchemaTest.java	(revision 87)
@@ -0,0 +1,23 @@
+package com.framsticks.parsers;
+
+import org.testng.annotations.*;
+
+import com.framsticks.params.Registry;
+import com.framsticks.test.TestConfiguration;
+
+import static org.fest.assertions.Assertions.*;
+
+public class SchemaTest extends TestConfiguration {
+
+	Schema schema;
+	Registry registry;
+
+	@Test
+	public void loadSchema() {
+		schema = new Schema(Schema.getDefaultDefinitionAsStream());
+		registry = schema.getRegistry();
+		// Package.register(schema.getRegistry());
+		assertThat(registry.getInfoCache().size()).isEqualTo(5);
+	}
+
+}
Index: java/main/src/test/resources/configs/test.xml
===================================================================
--- java/main/src/test/resources/configs/test.xml	(revision 87)
+++ java/main/src/test/resources/configs/test.xml	(revision 87)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<framsticks>
+	<instance class="com.framsticks.gui.Browser">
+		<!-- <size>1500 800</size> -->
+		<endpoint class="com.framsticks.remote.RemoteInstance">
+			<name>localhost:9009</name>
+			<address>localhost:9009</address>
+		</endpoint>
+	</instance>
+</framsticks>
