diff --git a/.gitignore b/.gitignore
index b00a78f7..2bbda7ed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
*.iml
broker/target/
client/target/
+/parser_commons/target/
\ No newline at end of file
diff --git a/parser/pom.xml b/parser/pom.xml
index 999fc9f1..7609c266 100644
--- a/parser/pom.xml
+++ b/parser/pom.xml
@@ -25,6 +25,12 @@
2.0.4
+
+ org.dna.mqtt
+ moquette-parser-commons
+ 0.2
+
+
+
+ org.mockito
+ mockito-core
+ 1.9.0
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.5
+ 1.5
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ org/dna/mqtt/moquette/proto/TestUtils.java
+ org/dna/mqtt/moquette/proto/TestUtils$*
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/AbstractMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/AbstractMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/AbstractMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/AbstractMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/ConnAckMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/ConnAckMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/ConnAckMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/ConnAckMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/ConnectMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/ConnectMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/ConnectMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/ConnectMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/DisconnectMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/DisconnectMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/DisconnectMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/DisconnectMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/MessageIDMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/MessageIDMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/MessageIDMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/MessageIDMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PingReqMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PingReqMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PingReqMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PingReqMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PingRespMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PingRespMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PingRespMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PingRespMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PubAckMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PubAckMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PubAckMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PubAckMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PubRecMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PubRecMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PubRecMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PubRecMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PubRelMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PubRelMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PubRelMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PubRelMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PublishMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PublishMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/PublishMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/PublishMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/SubAckMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/SubAckMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/SubAckMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/SubAckMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/SubscribeMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/SubscribeMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/SubscribeMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/SubscribeMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/UnsubAckMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/UnsubAckMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/UnsubAckMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/UnsubAckMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/UnsubscribeMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/UnsubscribeMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/UnsubscribeMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/UnsubscribeMessage.java
diff --git a/parser/src/main/java/org/dna/mqtt/moquette/proto/messages/ZeroLengthMessage.java b/parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/ZeroLengthMessage.java
similarity index 100%
rename from parser/src/main/java/org/dna/mqtt/moquette/proto/messages/ZeroLengthMessage.java
rename to parser_commons/src/main/java/org/dna/mqtt/moquette/proto/messages/ZeroLengthMessage.java
diff --git a/pom.xml b/pom.xml
index 798ec1bb..a9a4e809 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,10 +16,12 @@
+ parser_commons
parser
netty_parser
broker
benchmarking
+ parser_commons