diff --git a/.gitignore b/.gitignore
index 76baee6..dbc40ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+/target
*.class
# Mobile Tools for Java (J2ME)
@@ -11,3 +12,9 @@
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.idea/workspace.xml
+
+# Intellij IDEA #
+.idea
+*.iws
+#*.iml
+*.ipr
diff --git a/.idea/.name b/.idea/.name
deleted file mode 100644
index 9c515c7..0000000
--- a/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-CmdParser4J
\ No newline at end of file
diff --git a/.idea/codeStyleSettings.xml b/.idea/codeStyleSettings.xml
deleted file mode 100644
index b1daa4b..0000000
--- a/.idea/codeStyleSettings.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index 96cc43e..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index e7bedf3..0000000
--- a/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/.idea/dictionaries/perma.xml b/.idea/dictionaries/perma.xml
deleted file mode 100644
index 26bae61..0000000
--- a/.idea/dictionaries/perma.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
- noninfringement
-
-
-
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
deleted file mode 100644
index 97626ba..0000000
--- a/.idea/encodings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/hamcrest_core_1_3.xml b/.idea/libraries/hamcrest_core_1_3.xml
deleted file mode 100644
index f803d78..0000000
--- a/.idea/libraries/hamcrest_core_1_3.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/libraries/junit_4_12.xml b/.idea/libraries/junit_4_12.xml
deleted file mode 100644
index d90f745..0000000
--- a/.idea/libraries/junit_4_12.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 7468127..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index c5cc114..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations/Test_all.xml b/.idea/runConfigurations/Test_all.xml
deleted file mode 100644
index 7308334..0000000
--- a/.idea/runConfigurations/Test_all.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
deleted file mode 100644
index e96534f..0000000
--- a/.idea/uiDesigner.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 35eb1dd..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CmdParser4J.iml b/CmdParser4J.iml
index fe7c8fa..671c8a7 100644
--- a/CmdParser4J.iml
+++ b/CmdParser4J.iml
@@ -1,10 +1,13 @@
-
-
-
+
+
+
+
-
-
+
+
+
+
@@ -26,5 +29,7 @@
+
+
\ No newline at end of file
diff --git a/lib/hamcrest-core-1.3.jar b/lib/hamcrest-core-1.3.jar
deleted file mode 100644
index 9d5fe16..0000000
Binary files a/lib/hamcrest-core-1.3.jar and /dev/null differ
diff --git a/lib/junit-4.12.jar b/lib/junit-4.12.jar
deleted file mode 100644
index 3a7fc26..0000000
Binary files a/lib/junit-4.12.jar and /dev/null differ
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..265438c
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,49 @@
+
+
+ 4.0.0
+
+ com.snowsoftware
+ CmdParser4J
+ 1.0-SNAPSHOT
+
+
+ com.snowsoftware
+ default-parent
+ 1.0-SNAPSHOT
+ ../../pom.xml
+
+
+
+
+ junit
+ junit
+ test
+
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ prepare-agent
+
+ prepare-agent
+
+
+
+ report
+
+ report
+
+
+
+
+
+
+
+
diff --git a/src/cmdparser4j/Argument.java b/src/main/java/cmdparser4j/Argument.java
similarity index 100%
rename from src/cmdparser4j/Argument.java
rename to src/main/java/cmdparser4j/Argument.java
diff --git a/src/cmdparser4j/BaseType.java b/src/main/java/cmdparser4j/BaseType.java
similarity index 100%
rename from src/cmdparser4j/BaseType.java
rename to src/main/java/cmdparser4j/BaseType.java
diff --git a/src/cmdparser4j/BooleanType.java b/src/main/java/cmdparser4j/BooleanType.java
similarity index 100%
rename from src/cmdparser4j/BooleanType.java
rename to src/main/java/cmdparser4j/BooleanType.java
diff --git a/src/cmdparser4j/Changeable.java b/src/main/java/cmdparser4j/Changeable.java
similarity index 100%
rename from src/cmdparser4j/Changeable.java
rename to src/main/java/cmdparser4j/Changeable.java
diff --git a/src/cmdparser4j/CmdParser4J.java b/src/main/java/cmdparser4j/CmdParser4J.java
similarity index 100%
rename from src/cmdparser4j/CmdParser4J.java
rename to src/main/java/cmdparser4j/CmdParser4J.java
diff --git a/src/cmdparser4j/Constructor.java b/src/main/java/cmdparser4j/Constructor.java
similarity index 100%
rename from src/cmdparser4j/Constructor.java
rename to src/main/java/cmdparser4j/Constructor.java
diff --git a/src/cmdparser4j/IConfigurationReader.java b/src/main/java/cmdparser4j/IConfigurationReader.java
similarity index 100%
rename from src/cmdparser4j/IConfigurationReader.java
rename to src/main/java/cmdparser4j/IConfigurationReader.java
diff --git a/src/cmdparser4j/IParseResult.java b/src/main/java/cmdparser4j/IParseResult.java
similarity index 100%
rename from src/cmdparser4j/IParseResult.java
rename to src/main/java/cmdparser4j/IParseResult.java
diff --git a/src/cmdparser4j/IUsageFormatter.java b/src/main/java/cmdparser4j/IUsageFormatter.java
similarity index 100%
rename from src/cmdparser4j/IUsageFormatter.java
rename to src/main/java/cmdparser4j/IUsageFormatter.java
diff --git a/src/cmdparser4j/IntegerType.java b/src/main/java/cmdparser4j/IntegerType.java
similarity index 100%
rename from src/cmdparser4j/IntegerType.java
rename to src/main/java/cmdparser4j/IntegerType.java
diff --git a/src/cmdparser4j/ResultEnvelope.java b/src/main/java/cmdparser4j/ResultEnvelope.java
similarity index 100%
rename from src/cmdparser4j/ResultEnvelope.java
rename to src/main/java/cmdparser4j/ResultEnvelope.java
diff --git a/src/cmdparser4j/SingleBooleanType.java b/src/main/java/cmdparser4j/SingleBooleanType.java
similarity index 100%
rename from src/cmdparser4j/SingleBooleanType.java
rename to src/main/java/cmdparser4j/SingleBooleanType.java
diff --git a/src/cmdparser4j/StringType.java b/src/main/java/cmdparser4j/StringType.java
similarity index 100%
rename from src/cmdparser4j/StringType.java
rename to src/main/java/cmdparser4j/StringType.java
diff --git a/src/cmdparser4j/SystemOutputParseResult.java b/src/main/java/cmdparser4j/SystemOutputParseResult.java
similarity index 100%
rename from src/cmdparser4j/SystemOutputParseResult.java
rename to src/main/java/cmdparser4j/SystemOutputParseResult.java
diff --git a/src/cmdparser4j/SystemOutputUsageFormatter.java b/src/main/java/cmdparser4j/SystemOutputUsageFormatter.java
similarity index 100%
rename from src/cmdparser4j/SystemOutputUsageFormatter.java
rename to src/main/java/cmdparser4j/SystemOutputUsageFormatter.java
diff --git a/src/cmdparser4j/TypeConstructor.java b/src/main/java/cmdparser4j/TypeConstructor.java
similarity index 100%
rename from src/cmdparser4j/TypeConstructor.java
rename to src/main/java/cmdparser4j/TypeConstructor.java
diff --git a/src/cmdparser4j/XMLConfigurationReader.java b/src/main/java/cmdparser4j/XMLConfigurationReader.java
similarity index 100%
rename from src/cmdparser4j/XMLConfigurationReader.java
rename to src/main/java/cmdparser4j/XMLConfigurationReader.java
diff --git a/src/cmdparser4j/envelopes/IBooleanTypeEnvelope.java b/src/main/java/cmdparser4j/envelopes/IBooleanTypeEnvelope.java
similarity index 100%
rename from src/cmdparser4j/envelopes/IBooleanTypeEnvelope.java
rename to src/main/java/cmdparser4j/envelopes/IBooleanTypeEnvelope.java
diff --git a/src/cmdparser4j/envelopes/IIntegerTypeEnvelope.java b/src/main/java/cmdparser4j/envelopes/IIntegerTypeEnvelope.java
similarity index 100%
rename from src/cmdparser4j/envelopes/IIntegerTypeEnvelope.java
rename to src/main/java/cmdparser4j/envelopes/IIntegerTypeEnvelope.java
diff --git a/src/cmdparser4j/envelopes/IStringTypeEnvelope.java b/src/main/java/cmdparser4j/envelopes/IStringTypeEnvelope.java
similarity index 100%
rename from src/cmdparser4j/envelopes/IStringTypeEnvelope.java
rename to src/main/java/cmdparser4j/envelopes/IStringTypeEnvelope.java
diff --git a/src/cmdparser4j/limits/NumericLimit.java b/src/main/java/cmdparser4j/limits/NumericLimit.java
similarity index 100%
rename from src/cmdparser4j/limits/NumericLimit.java
rename to src/main/java/cmdparser4j/limits/NumericLimit.java
diff --git a/src/cmdparser4j/limits/StringLengthLimit.java b/src/main/java/cmdparser4j/limits/StringLengthLimit.java
similarity index 100%
rename from src/cmdparser4j/limits/StringLengthLimit.java
rename to src/main/java/cmdparser4j/limits/StringLengthLimit.java
diff --git a/src/cmdparser4j/limits/UnboundIntegerLimit.java b/src/main/java/cmdparser4j/limits/UnboundIntegerLimit.java
similarity index 100%
rename from src/cmdparser4j/limits/UnboundIntegerLimit.java
rename to src/main/java/cmdparser4j/limits/UnboundIntegerLimit.java
diff --git a/src/cmdparser4j/limits/UnboundStringLimit.java b/src/main/java/cmdparser4j/limits/UnboundStringLimit.java
similarity index 100%
rename from src/cmdparser4j/limits/UnboundStringLimit.java
rename to src/main/java/cmdparser4j/limits/UnboundStringLimit.java
diff --git a/test/cmdparser4j/ChangeableTest.java b/src/test/java/cmdparser4j/ChangeableTest.java
similarity index 100%
rename from test/cmdparser4j/ChangeableTest.java
rename to src/test/java/cmdparser4j/ChangeableTest.java
diff --git a/test/cmdparser4j/CmdParser4JTest.java b/src/test/java/cmdparser4j/CmdParser4JTest.java
similarity index 100%
rename from test/cmdparser4j/CmdParser4JTest.java
rename to src/test/java/cmdparser4j/CmdParser4JTest.java