diff --git a/compiler/2014/Java_CodeGen.jrag b/compiler/2014/Java_CodeGen.jrag
index 62a59eff2b4d6db81c899e25dfbc817121f70aaa..cb0f6281c0cd375a0a356b081aa5607dc4e9a90b 100644
--- a/compiler/2014/Java_CodeGen.jrag
+++ b/compiler/2014/Java_CodeGen.jrag
@@ -79,7 +79,7 @@ aspect Java_CodeGenEnv {
 
     private Java_env(int version, int indent) {
       this.version = version;
-      this.verStr = LabCommVersion.versionString(version);
+      this.verStr = "2014";
       this.indent = indent;
     }
 
diff --git a/examples/dynamic/test/DynamicPart.java b/examples/dynamic/test/DynamicPart.java
index a3137220ca98e8e00ddf25a6b879d2406d3817c6..5e98f51082f6be5c50516d94cfb54bd485836d32 100644
--- a/examples/dynamic/test/DynamicPart.java
+++ b/examples/dynamic/test/DynamicPart.java
@@ -18,10 +18,10 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.Map;
 
-import se.lth.control.labcomm.Decoder;
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.Encoder;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.Decoder;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.Encoder;
+import se.lth.control.labcomm2014.EncoderChannel;
 import AST.Parser;
 import AST.Scanner;
 import AST.Program;
diff --git a/examples/dynamic/test/StaticDecoder.java b/examples/dynamic/test/StaticDecoder.java
index c1c06d3b90a06270ceaaa0b492fc580a4c1dcd07..1286b009651813137f6660745990b4c90539b9b5 100644
--- a/examples/dynamic/test/StaticDecoder.java
+++ b/examples/dynamic/test/StaticDecoder.java
@@ -6,7 +6,7 @@ import gen.bar;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
-import se.lth.control.labcomm.DecoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
 
 
 public class StaticDecoder implements foo.Handler, bar.Handler
diff --git a/examples/dynamic/test/StaticEncoder.java b/examples/dynamic/test/StaticEncoder.java
index 4ea48be4e2e94daf915caac4bb4a2ac2a0ad33f5..0bfb5340d8e9b8c84c0764a1d2bf7f9fe0425ca1 100644
--- a/examples/dynamic/test/StaticEncoder.java
+++ b/examples/dynamic/test/StaticEncoder.java
@@ -2,7 +2,7 @@ package test;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 
 import gen.foo;
 import gen.bar;
diff --git a/examples/dynamic/test/TestLabCommCompiler.java b/examples/dynamic/test/TestLabCommCompiler.java
index fe9f5e659633cf036698e2c531a1a295dc99bf32..b0783456c36e03c103485c1e19c6adcdd54ed9f5 100644
--- a/examples/dynamic/test/TestLabCommCompiler.java
+++ b/examples/dynamic/test/TestLabCommCompiler.java
@@ -16,10 +16,10 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.Map;
 
-import se.lth.control.labcomm.Decoder;
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.Encoder;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.Decoder;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.Encoder;
+import se.lth.control.labcomm2014.EncoderChannel;
 import AST.Parser;
 import AST.Scanner;
 import AST.Program;
diff --git a/examples/dynamic/test/TestLabcommGen.java b/examples/dynamic/test/TestLabcommGen.java
index 7ff4e03a3f12cee2e4c321b90f6ef067d397ac76..b35f5023a561f994ec5d8d5125917265eee7028c 100644
--- a/examples/dynamic/test/TestLabcommGen.java
+++ b/examples/dynamic/test/TestLabcommGen.java
@@ -18,10 +18,10 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.Map;
 
-import se.lth.control.labcomm.Decoder;
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.Encoder;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.Decoder;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.Encoder;
+import se.lth.control.labcomm2014.EncoderChannel;
 import AST.Parser;
 import AST.Scanner;
 import AST.Program;
diff --git a/examples/jgrafchart/labcommTCPtest/client/TestClient.java b/examples/jgrafchart/labcommTCPtest/client/TestClient.java
index 66fa1342e470b12c1516ceacdd89a85b4a7d0616..acc2a368c1a1351f614a886c61e7342a2c0f332b 100644
--- a/examples/jgrafchart/labcommTCPtest/client/TestClient.java
+++ b/examples/jgrafchart/labcommTCPtest/client/TestClient.java
@@ -6,8 +6,8 @@ import java.io.OutputStream;
 import java.net.Socket;
 import java.net.UnknownHostException;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 import labcommTCPtest.gen.foo;
 import labcommTCPtest.gen.foo.Handler;
 
diff --git a/examples/jgrafchart/labcommTCPtest/client/TestClientSingleshot.java b/examples/jgrafchart/labcommTCPtest/client/TestClientSingleshot.java
index 9601bcabcf45d174367aeeb61229ccc3dfeb8d25..1bf43e7297a7358260150971a2a9b8bec90f8230 100644
--- a/examples/jgrafchart/labcommTCPtest/client/TestClientSingleshot.java
+++ b/examples/jgrafchart/labcommTCPtest/client/TestClientSingleshot.java
@@ -6,8 +6,8 @@ import java.io.OutputStream;
 import java.net.Socket;
 import java.net.UnknownHostException;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 import labcommTCPtest.gen.FooSample;
 import labcommTCPtest.gen.FooSample.Handler;
 
diff --git a/examples/jgrafchart/labcommTCPtest/server/TestServer.java b/examples/jgrafchart/labcommTCPtest/server/TestServer.java
index 4b95a362a6a1784407336df5b5eab411f2e25f1d..35053120d1e915f775180c6cdad00bc2a815d17d 100644
--- a/examples/jgrafchart/labcommTCPtest/server/TestServer.java
+++ b/examples/jgrafchart/labcommTCPtest/server/TestServer.java
@@ -8,8 +8,8 @@ import java.lang.reflect.Method;
 import java.net.ServerSocket;
 import java.net.Socket;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 import labcommTCPtest.gen.foo;
 import labcommTCPtest.gen.foo.Handler;
 
diff --git a/examples/simple/Decoder.java b/examples/simple/Decoder.java
index 48dd3edfa2cb6b9501890f17f62f3b9df79047fb..0adc7776fe7a18fe81cb3004a656d2d303f3925f 100644
--- a/examples/simple/Decoder.java
+++ b/examples/simple/Decoder.java
@@ -2,7 +2,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
 
-import se.lth.control.labcomm.DecoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
 
 public class Decoder
   implements theTwoInts.Handler, anotherTwoInts.Handler, IntString.Handler, TwoArrays.Handler, TwoFixedArrays.Handler, doavoid.Handler
diff --git a/examples/simple/Encoder.java b/examples/simple/Encoder.java
index 15e48582cb1d08b879980b61a76dad86928fea9c..061e91ff7e33e771853416ea37b1c13e003bf958 100644
--- a/examples/simple/Encoder.java
+++ b/examples/simple/Encoder.java
@@ -2,7 +2,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
 
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 
 /**
  * Simple encoder 
diff --git a/examples/simple/EncoderIS.java b/examples/simple/EncoderIS.java
index 4d7fd3a138bf64dcc1022c00409a940d0934da5f..4bdb99b8b1aa7f5332d1bebc3a1c9268c850e505 100644
--- a/examples/simple/EncoderIS.java
+++ b/examples/simple/EncoderIS.java
@@ -2,7 +2,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
 
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 
 /**
  * Simple encoder 
diff --git a/examples/tcp/labcommTCPtest/client/TestClient.java b/examples/tcp/labcommTCPtest/client/TestClient.java
index fcd621e5f0749184d271602054b1d84c151074d8..42844f74583346fca0f0485b7c869fd179c5fdd6 100644
--- a/examples/tcp/labcommTCPtest/client/TestClient.java
+++ b/examples/tcp/labcommTCPtest/client/TestClient.java
@@ -6,8 +6,8 @@ import java.io.OutputStream;
 import java.net.Socket;
 import java.net.UnknownHostException;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 import labcommTCPtest.gen.FooSample;
 import labcommTCPtest.gen.FooSample.Handler;
 
diff --git a/examples/tcp/labcommTCPtest/client/TestClientSingleshot.java b/examples/tcp/labcommTCPtest/client/TestClientSingleshot.java
index 9601bcabcf45d174367aeeb61229ccc3dfeb8d25..1bf43e7297a7358260150971a2a9b8bec90f8230 100644
--- a/examples/tcp/labcommTCPtest/client/TestClientSingleshot.java
+++ b/examples/tcp/labcommTCPtest/client/TestClientSingleshot.java
@@ -6,8 +6,8 @@ import java.io.OutputStream;
 import java.net.Socket;
 import java.net.UnknownHostException;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 import labcommTCPtest.gen.FooSample;
 import labcommTCPtest.gen.FooSample.Handler;
 
diff --git a/examples/tcp/labcommTCPtest/server/OneShotServer.java b/examples/tcp/labcommTCPtest/server/OneShotServer.java
index b79b93e7d8f14d7eac194207d7914c17187fc113..647ed19d59b4ccf975066772d34e549aa1130590 100644
--- a/examples/tcp/labcommTCPtest/server/OneShotServer.java
+++ b/examples/tcp/labcommTCPtest/server/OneShotServer.java
@@ -6,8 +6,8 @@ import java.io.OutputStream;
 import java.net.Socket;
 import java.net.ServerSocket;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 import labcommTCPtest.gen.FooSample;
 
 public class OneShotServer {//implements Handler {
diff --git a/examples/tcp/labcommTCPtest/server/TestServer.java b/examples/tcp/labcommTCPtest/server/TestServer.java
index 441bac4df2d1d4a08eda8322c0c2717b0e886521..e17dabdbf36973d5f0240e00f22c5ec1f5663942 100644
--- a/examples/tcp/labcommTCPtest/server/TestServer.java
+++ b/examples/tcp/labcommTCPtest/server/TestServer.java
@@ -8,8 +8,8 @@ import java.lang.reflect.Method;
 import java.net.ServerSocket;
 import java.net.Socket;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 import labcommTCPtest.gen.FooSample;
 import labcommTCPtest.gen.FooSample.Handler;
 
diff --git a/examples/user_types/Decoder.java b/examples/user_types/Decoder.java
index 29069b1cfb9d456f65b1c0f598f67a17a77e695c..a0e7521a08bfd41867e4371bf6651657bca0303c 100644
--- a/examples/user_types/Decoder.java
+++ b/examples/user_types/Decoder.java
@@ -3,10 +3,10 @@ import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.IOException;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.TypeDef;
-import se.lth.control.labcomm.TypeDefParser;
-//import se.lth.control.labcomm.TypeBinding;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.TypeDef;
+import se.lth.control.labcomm2014.TypeDefParser;
+//import se.lth.control.labcomm2014.TypeBinding;
 
 public class Decoder
   implements twoLines.Handler,
diff --git a/examples/user_types/Encoder.java b/examples/user_types/Encoder.java
index d5687a2ce1d86b9643cddc58921373618b80b7bd..58f6cd0a8e57191f9337a3e2771a89b05bb1e31d 100644
--- a/examples/user_types/Encoder.java
+++ b/examples/user_types/Encoder.java
@@ -2,7 +2,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
 
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 
 /**
  * Simple encoder 
diff --git a/examples/user_types/TDDecoder.java b/examples/user_types/TDDecoder.java
index 6bfdb3ca8f33b5af819472e65a229f4f177e3fd3..1c56a72eba5a351cd918b4e073da0158ffe99f8e 100644
--- a/examples/user_types/TDDecoder.java
+++ b/examples/user_types/TDDecoder.java
@@ -3,11 +3,11 @@ import java.io.FileInputStream;
 import java.io.InputStream;
 import java.io.IOException;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.TypeDef;
-import se.lth.control.labcomm.TypeDefParser;
-import se.lth.control.labcomm.ASTbuilder;
-//import se.lth.control.labcomm.TypeBinding;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.TypeDef;
+import se.lth.control.labcomm2014.TypeDefParser;
+import se.lth.control.labcomm2014.ASTbuilder;
+//import se.lth.control.labcomm2014.TypeBinding;
 
 import se.lth.control.labcomm2014.compiler.Program;
 import java.io.FileOutputStream;
diff --git a/examples/wiki_example/example_decoder_encoder.java b/examples/wiki_example/example_decoder_encoder.java
index 252cc1d8411ad59259dd445930f74b8f1ff61e2f..be630947be0cb0d10d8c6c68d8cdb2f1b3c7521b 100644
--- a/examples/wiki_example/example_decoder_encoder.java
+++ b/examples/wiki_example/example_decoder_encoder.java
@@ -4,8 +4,8 @@ import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.EncoderChannel;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.EncoderChannel;
 
 public class example_decoder_encoder 
   implements data.Handler, log_message.Handler 
diff --git a/lib/java/Makefile b/lib/java/Makefile
index 27029d5986fd799329f7c692730d22b1dc47a65f..ec46407f6c5815d90a4613cb166cdf7c8fa2a0dd 100644
--- a/lib/java/Makefile
+++ b/lib/java/Makefile
@@ -24,12 +24,12 @@ all: labcomm.jar labcomm2014.jar labcomm2006.jar
 labcomm.jar: gen/JAVAC
 	echo $@
 	cd gen ; jar cf ../$@ \
-		se/lth/control/labcomm/*.class \
+		se/lth/control/labcomm2014/*.class \
 		se/lth/control/labcomm2006/*.class
 
 labcomm2014.jar: gen/JAVAC
 	echo $@
-	cd gen ; jar cf ../$@ se/lth/control/labcomm/*.class
+	cd gen ; jar cf ../$@ se/lth/control/labcomm2014/*.class
 
 labcomm2006.jar: gen/JAVAC
 	echo $@
@@ -38,10 +38,10 @@ labcomm2006.jar: gen/JAVAC
 gen:
 	mkdir gen
 
-gen/JAVAC: $(MODULES:%=se/lth/control/labcomm/%.java) \
-	   $(MODULES:%=se/lth/control/labcomm2006/%.java) \
+gen/JAVAC: $(MODULES:%=se/lth/control/labcomm2006/%.java) \
+	   $(MODULES:%=se/lth/control/labcomm2014/%.java) \
 	   Makefile | gen
-	javac -cp ../../compiler/labcomm_compiler.jar -d gen \
+	javac -cp ../../compiler/labcomm2014_compiler.jar -d gen \
             $(filter %.java, $^)
 	touch $@
 
diff --git a/lib/java/se/lth/control/labcomm/SampleType.java b/lib/java/se/lth/control/labcomm/SampleType.java
deleted file mode 100644
index f51ce99de5bbf360b8cd319387fd4dcb16b9904a..0000000000000000000000000000000000000000
--- a/lib/java/se/lth/control/labcomm/SampleType.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package se.lth.control.labcomm;
-
-public interface SampleType {
-
-}
diff --git a/lib/java/se/lth/control/labcomm/ASTbuilder.java b/lib/java/se/lth/control/labcomm2014/ASTbuilder.java
similarity index 97%
rename from lib/java/se/lth/control/labcomm/ASTbuilder.java
rename to lib/java/se/lth/control/labcomm2014/ASTbuilder.java
index 73bd171750c722c910a12549f535272eafc3b5a5..442afb86c2faad21eb76958685f3c6607f1bc1fd 100644
--- a/lib/java/se/lth/control/labcomm/ASTbuilder.java
+++ b/lib/java/se/lth/control/labcomm2014/ASTbuilder.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.util.HashMap;
 import java.util.HashSet;
@@ -10,8 +10,8 @@ import java.io.DataInputStream;
 import java.io.IOException;
 import java.io.EOFException;
 
-import se.lth.control.labcomm.TypeDef;
-import se.lth.control.labcomm.TypeDefParser;
+import se.lth.control.labcomm2014.TypeDef;
+import se.lth.control.labcomm2014.TypeDefParser;
 
 import se.lth.control.labcomm2014.compiler.LabComm;
 import se.lth.control.labcomm2014.compiler.LabCommParser;
diff --git a/lib/java/se/lth/control/labcomm/BuiltinType.java b/lib/java/se/lth/control/labcomm2014/BuiltinType.java
similarity index 59%
rename from lib/java/se/lth/control/labcomm/BuiltinType.java
rename to lib/java/se/lth/control/labcomm2014/BuiltinType.java
index adb8cd02f62a536f6291071155dcd6ee4dad3f2c..ab0cec18391d75e571b4f124987f397452c07bbf 100644
--- a/lib/java/se/lth/control/labcomm/BuiltinType.java
+++ b/lib/java/se/lth/control/labcomm2014/BuiltinType.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 public interface BuiltinType extends SampleType{
 
diff --git a/lib/java/se/lth/control/labcomm/Constant.java b/lib/java/se/lth/control/labcomm2014/Constant.java
similarity index 97%
rename from lib/java/se/lth/control/labcomm/Constant.java
rename to lib/java/se/lth/control/labcomm2014/Constant.java
index e109b30445c953abbe43347d5ba5a42d26cbb15f..f46018a23f4504614d95e669058da2da80ecc794 100644
--- a/lib/java/se/lth/control/labcomm/Constant.java
+++ b/lib/java/se/lth/control/labcomm2014/Constant.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 public class Constant {
 
diff --git a/lib/java/se/lth/control/labcomm/Decoder.java b/lib/java/se/lth/control/labcomm2014/Decoder.java
similarity index 95%
rename from lib/java/se/lth/control/labcomm/Decoder.java
rename to lib/java/se/lth/control/labcomm2014/Decoder.java
index ae684467b0ab7ce23471fc4e5142b8d5264b6d75..52c6636f0959132f5bec214edba24a2d266d6744 100644
--- a/lib/java/se/lth/control/labcomm/Decoder.java
+++ b/lib/java/se/lth/control/labcomm2014/Decoder.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.IOException;
 
diff --git a/lib/java/se/lth/control/labcomm/DecoderChannel.java b/lib/java/se/lth/control/labcomm2014/DecoderChannel.java
similarity index 99%
rename from lib/java/se/lth/control/labcomm/DecoderChannel.java
rename to lib/java/se/lth/control/labcomm2014/DecoderChannel.java
index 05382913ec659d7ed548f585884ecb4a097bcac5..0e3ac6e5210dd8e67499e1a48222b456c959c89e 100644
--- a/lib/java/se/lth/control/labcomm/DecoderChannel.java
+++ b/lib/java/se/lth/control/labcomm2014/DecoderChannel.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
diff --git a/lib/java/se/lth/control/labcomm/DecoderRegistry.java b/lib/java/se/lth/control/labcomm2014/DecoderRegistry.java
similarity index 99%
rename from lib/java/se/lth/control/labcomm/DecoderRegistry.java
rename to lib/java/se/lth/control/labcomm2014/DecoderRegistry.java
index 79a78063a20f1eff1cfef28816b624e8ea326290..af264e6e36583735463493f7566fa7d95ebd359a 100644
--- a/lib/java/se/lth/control/labcomm/DecoderRegistry.java
+++ b/lib/java/se/lth/control/labcomm2014/DecoderRegistry.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.IOException;
 import java.util.HashMap;
diff --git a/lib/java/se/lth/control/labcomm/Encoder.java b/lib/java/se/lth/control/labcomm2014/Encoder.java
similarity index 96%
rename from lib/java/se/lth/control/labcomm/Encoder.java
rename to lib/java/se/lth/control/labcomm2014/Encoder.java
index 41901151c2efeab95c24d66ab85caa3e088dfc4f..78c2e48b0c5e030bf908d7af848c162ca1a32f38 100644
--- a/lib/java/se/lth/control/labcomm/Encoder.java
+++ b/lib/java/se/lth/control/labcomm2014/Encoder.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.IOException;
 
diff --git a/lib/java/se/lth/control/labcomm/EncoderChannel.java b/lib/java/se/lth/control/labcomm2014/EncoderChannel.java
similarity index 99%
rename from lib/java/se/lth/control/labcomm/EncoderChannel.java
rename to lib/java/se/lth/control/labcomm2014/EncoderChannel.java
index f429f94e7bf311ed57ae89b8cd7406b43ff07b2c..b6c25bb4ea54176693820c0a78a09ba31f678678 100644
--- a/lib/java/se/lth/control/labcomm/EncoderChannel.java
+++ b/lib/java/se/lth/control/labcomm2014/EncoderChannel.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
diff --git a/lib/java/se/lth/control/labcomm/EncoderRegistry.java b/lib/java/se/lth/control/labcomm2014/EncoderRegistry.java
similarity index 97%
rename from lib/java/se/lth/control/labcomm/EncoderRegistry.java
rename to lib/java/se/lth/control/labcomm2014/EncoderRegistry.java
index f990d1813920a0624c557b4a895cae1f64331a69..804fface11506599942a0f49323779f427d35cbb 100644
--- a/lib/java/se/lth/control/labcomm/EncoderRegistry.java
+++ b/lib/java/se/lth/control/labcomm2014/EncoderRegistry.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.IOException;
 import java.util.HashMap;
diff --git a/lib/java/se/lth/control/labcomm/Reader.java b/lib/java/se/lth/control/labcomm2014/Reader.java
similarity index 70%
rename from lib/java/se/lth/control/labcomm/Reader.java
rename to lib/java/se/lth/control/labcomm2014/Reader.java
index 1dd0dacd16ecab62bfb7e1de7ed30d082741c9ec..986a3bced6131fe7aca544b9697223b176b30d58 100644
--- a/lib/java/se/lth/control/labcomm/Reader.java
+++ b/lib/java/se/lth/control/labcomm2014/Reader.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 public interface Reader {
 
diff --git a/lib/java/se/lth/control/labcomm/Sample.java b/lib/java/se/lth/control/labcomm2014/Sample.java
similarity index 72%
rename from lib/java/se/lth/control/labcomm/Sample.java
rename to lib/java/se/lth/control/labcomm2014/Sample.java
index 2dd432b878f509538aca71f0b7840ff8fe2513b2..6dcf1cf8a235be7e89fdc1aebe91bf2fc22d06a2 100644
--- a/lib/java/se/lth/control/labcomm/Sample.java
+++ b/lib/java/se/lth/control/labcomm2014/Sample.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 public interface Sample extends SampleType {
 
diff --git a/lib/java/se/lth/control/labcomm/SampleDispatcher.java b/lib/java/se/lth/control/labcomm2014/SampleDispatcher.java
similarity index 95%
rename from lib/java/se/lth/control/labcomm/SampleDispatcher.java
rename to lib/java/se/lth/control/labcomm2014/SampleDispatcher.java
index b2ed2fd98658f15461c6a8a60e8f4bb9df39418b..0d6b8b44951c3eab494636d10fc3e1c78e91c509 100644
--- a/lib/java/se/lth/control/labcomm/SampleDispatcher.java
+++ b/lib/java/se/lth/control/labcomm2014/SampleDispatcher.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.IOException;
 
diff --git a/lib/java/se/lth/control/labcomm/SampleHandler.java b/lib/java/se/lth/control/labcomm2014/SampleHandler.java
similarity index 50%
rename from lib/java/se/lth/control/labcomm/SampleHandler.java
rename to lib/java/se/lth/control/labcomm2014/SampleHandler.java
index d03da88d64f8a23e795149bda5b7ed1080dd88e4..a5f67f8ed833b9269691fefc88d6259835f67651 100644
--- a/lib/java/se/lth/control/labcomm/SampleHandler.java
+++ b/lib/java/se/lth/control/labcomm2014/SampleHandler.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 public interface SampleHandler {
 }
diff --git a/lib/java/se/lth/control/labcomm2014/SampleType.java b/lib/java/se/lth/control/labcomm2014/SampleType.java
new file mode 100644
index 0000000000000000000000000000000000000000..71f97867e143c6de425c7f229b4bc458bb521704
--- /dev/null
+++ b/lib/java/se/lth/control/labcomm2014/SampleType.java
@@ -0,0 +1,5 @@
+package se.lth.control.labcomm2014;
+
+public interface SampleType {
+
+}
diff --git a/lib/java/se/lth/control/labcomm/TypeBinding.java b/lib/java/se/lth/control/labcomm2014/TypeBinding.java
similarity index 93%
rename from lib/java/se/lth/control/labcomm/TypeBinding.java
rename to lib/java/se/lth/control/labcomm2014/TypeBinding.java
index 1c0cd41345f1aa20470e0327570eb17413d6e811..47b33d5139571b0b48c457fcbca62e16b0d157c7 100644
--- a/lib/java/se/lth/control/labcomm/TypeBinding.java
+++ b/lib/java/se/lth/control/labcomm2014/TypeBinding.java
@@ -1,12 +1,12 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.IOException;
 import java.io.ByteArrayOutputStream;
 import java.io.ByteArrayInputStream;
-import se.lth.control.labcomm.Decoder;
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.SampleDispatcher;
-import se.lth.control.labcomm.SampleHandler;
+import se.lth.control.labcomm2014.Decoder;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.SampleDispatcher;
+import se.lth.control.labcomm2014.SampleHandler;
 
 public class TypeBinding implements BuiltinType {
     private int sampleIndex;
diff --git a/lib/java/se/lth/control/labcomm/TypeDef.java b/lib/java/se/lth/control/labcomm2014/TypeDef.java
similarity index 93%
rename from lib/java/se/lth/control/labcomm/TypeDef.java
rename to lib/java/se/lth/control/labcomm2014/TypeDef.java
index 067c400e9b0a668ddff6786e231aa4ff3a9f9067..494365caf4e2e2e5fd11abae86ff759796bef225 100644
--- a/lib/java/se/lth/control/labcomm/TypeDef.java
+++ b/lib/java/se/lth/control/labcomm2014/TypeDef.java
@@ -1,12 +1,12 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.IOException;
 import java.io.ByteArrayOutputStream;
 import java.io.ByteArrayInputStream;
-import se.lth.control.labcomm.Decoder;
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.SampleDispatcher;
-import se.lth.control.labcomm.SampleHandler;
+import se.lth.control.labcomm2014.Decoder;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.SampleDispatcher;
+import se.lth.control.labcomm2014.SampleHandler;
 
 public class TypeDef implements BuiltinType {
     private int index;
diff --git a/lib/java/se/lth/control/labcomm/TypeDefParser.java b/lib/java/se/lth/control/labcomm2014/TypeDefParser.java
similarity index 98%
rename from lib/java/se/lth/control/labcomm/TypeDefParser.java
rename to lib/java/se/lth/control/labcomm2014/TypeDefParser.java
index a72e96510e6ee1544f42aa39c548b637172c1cbd..4175bbca93292dd924dcccc0c4b1bb7ada7c6fd9 100644
--- a/lib/java/se/lth/control/labcomm/TypeDefParser.java
+++ b/lib/java/se/lth/control/labcomm2014/TypeDefParser.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.util.HashMap;
 import java.util.HashSet;
@@ -10,10 +10,10 @@ import java.io.DataInputStream;
 import java.io.IOException;
 import java.io.EOFException;
 
-import se.lth.control.labcomm.Decoder;
-import se.lth.control.labcomm.DecoderChannel;
-import se.lth.control.labcomm.TypeDef;
-import se.lth.control.labcomm.TypeBinding;
+import se.lth.control.labcomm2014.Decoder;
+import se.lth.control.labcomm2014.DecoderChannel;
+import se.lth.control.labcomm2014.TypeDef;
+import se.lth.control.labcomm2014.TypeBinding;
 
 public class TypeDefParser implements TypeDef.Handler, TypeBinding.Handler {
 
diff --git a/lib/java/se/lth/control/labcomm/Writer.java b/lib/java/se/lth/control/labcomm2014/Writer.java
similarity index 75%
rename from lib/java/se/lth/control/labcomm/Writer.java
rename to lib/java/se/lth/control/labcomm2014/Writer.java
index 2e015b0f4d94c0c916c76043178a2dda90403d86..5546882233172f4414d8e6d2652efdb78e98e1cc 100644
--- a/lib/java/se/lth/control/labcomm/Writer.java
+++ b/lib/java/se/lth/control/labcomm2014/Writer.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.IOException;
 
diff --git a/lib/java/se/lth/control/labcomm/WriterWrapper.java b/lib/java/se/lth/control/labcomm2014/WriterWrapper.java
similarity index 88%
rename from lib/java/se/lth/control/labcomm/WriterWrapper.java
rename to lib/java/se/lth/control/labcomm2014/WriterWrapper.java
index 7c33137e31b309521a7526685dcdc3de6ef04b91..f8b358d3e525a2dda7fead43ed4857e6671d62b2 100644
--- a/lib/java/se/lth/control/labcomm/WriterWrapper.java
+++ b/lib/java/se/lth/control/labcomm2014/WriterWrapper.java
@@ -1,4 +1,4 @@
-package se.lth.control.labcomm;
+package se.lth.control.labcomm2014;
 
 import java.io.OutputStream;
 import java.io.IOException;
diff --git a/test/relay_gen_java.py b/test/relay_gen_java.py
index a4a3b88d8e6fb60422b3db10ab79f32cec72ef25..c522367b4f98da99f0f2bca2639ba432ba8e0b49 100755
--- a/test/relay_gen_java.py
+++ b/test/relay_gen_java.py
@@ -31,9 +31,9 @@ if __name__ == '__main__':
       |import java.io.FileInputStream;
       |import java.io.FileOutputStream;
       |import java.io.IOException;
-      |import se.lth.control.labcomm.DecoderChannel;
-      |import se.lth.control.labcomm.EncoderChannel;
-      |import se.lth.control.labcomm.Sample;
+      |import se.lth.control.labcomm2014.DecoderChannel;
+      |import se.lth.control.labcomm2014.EncoderChannel;
+      |import se.lth.control.labcomm2014.Sample;
       |
       |public class java_relay implements
     """))