diff --git a/.gitignore b/.gitignore
index 6a3417b..144930f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,13 @@
-/out/
+*~
+target
+.idea
+*.iml
+settings.xml
+.classpath.txt
+.fullclasspath.txt
+
+# eclipse
+.project
+.buildpath
+.classpath
+.settings
diff --git a/.idea/.name b/.idea/.name
deleted file mode 100644
index 20c3e0b..0000000
--- a/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-CompactMap
\ No newline at end of file
diff --git a/.idea/ant.xml b/.idea/ant.xml
deleted file mode 100644
index 2581ca3..0000000
--- a/.idea/ant.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/.idea/artifacts/CompactMap_jar.xml b/.idea/artifacts/CompactMap_jar.xml
deleted file mode 100644
index 6f1a0e9..0000000
--- a/.idea/artifacts/CompactMap_jar.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- $PROJECT_DIR$/out/artifacts/CompactMap_jar
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index 97c9ca5..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/copyright/LGPL.xml b/.idea/copyright/LGPL.xml
deleted file mode 100644
index 3d657d4..0000000
--- a/.idea/copyright/LGPL.xml
+++ /dev/null
@@ -1,9 +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 8939500..0000000
--- a/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
deleted file mode 100644
index e206d70..0000000
--- a/.idea/encodings.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 1e946a9..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- http://www.w3.org/1999/xhtml
-
-
-
-
-
-
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 7a6396c..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 275077f..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/CompactMap.iml b/CompactMap.iml
deleted file mode 100644
index 9d0f88b..0000000
--- a/CompactMap.iml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF
deleted file mode 100644
index 70d4d97..0000000
--- a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.1
-Implementation-Version: 1.1
-Build-Date: 2011-11-11
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 0000000..cb3898d
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,25 @@
+
+
+
+ parent
+ com.github.vlsi.compactmap
+ 1.2.0
+
+ 4.0.0
+
+ core
+ jar
+
+
+
+ com.github.andrewoma.dexx
+ dexx-collections
+
+
+ org.testng
+ testng
+
+
+
\ No newline at end of file
diff --git a/src/vlsi/utils/CompactHashMap.java b/core/src/main/java/vlsi/utils/CompactHashMap.java
similarity index 100%
rename from src/vlsi/utils/CompactHashMap.java
rename to core/src/main/java/vlsi/utils/CompactHashMap.java
diff --git a/src/vlsi/utils/CompactHashMapClass.java b/core/src/main/java/vlsi/utils/CompactHashMapClass.java
similarity index 100%
rename from src/vlsi/utils/CompactHashMapClass.java
rename to core/src/main/java/vlsi/utils/CompactHashMapClass.java
diff --git a/src/vlsi/utils/CompactHashMapClassEmptyDefaults.java b/core/src/main/java/vlsi/utils/CompactHashMapClassEmptyDefaults.java
similarity index 100%
rename from src/vlsi/utils/CompactHashMapClassEmptyDefaults.java
rename to core/src/main/java/vlsi/utils/CompactHashMapClassEmptyDefaults.java
diff --git a/src/vlsi/utils/CompactHashMapDefaultValues.java b/core/src/main/java/vlsi/utils/CompactHashMapDefaultValues.java
similarity index 100%
rename from src/vlsi/utils/CompactHashMapDefaultValues.java
rename to core/src/main/java/vlsi/utils/CompactHashMapDefaultValues.java
diff --git a/test/vlsi/utils/CompactHashMapClassTest.java b/core/src/test/java/vlsi/utils/CompactHashMapClassTest.java
similarity index 100%
rename from test/vlsi/utils/CompactHashMapClassTest.java
rename to core/src/test/java/vlsi/utils/CompactHashMapClassTest.java
diff --git a/jol/pom.xml b/jol/pom.xml
new file mode 100644
index 0000000..6189556
--- /dev/null
+++ b/jol/pom.xml
@@ -0,0 +1,29 @@
+
+
+
+ parent
+ com.github.vlsi.compactmap
+ 1.2.0
+
+ 4.0.0
+
+ jol
+ jar
+
+
+
+ com.github.vlsi.compactmap
+ core
+
+
+ org.openjdk.jol
+ jol-core
+
+
+ org.testng
+ testng
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..91bebb6
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,95 @@
+
+
+ 4.0.0
+
+ com.github.vlsi.compactmap
+ parent
+ pom
+ 1.2.0
+
+ core
+ jol
+
+
+
+ UTF-8
+
+
+ Compact HashMap
+ Hash table implementation modelled after memory efficient V8's Fast Property Access
+
+
+ LGPL 3.0 license
+ http://www.opensource.org/licenses/lgpl-3.0.html
+
+
+
+ https://github.com/vlsi/compactmap
+
+ https://github.com/vlsi/compactmap
+ https://github.com/vlsi/compactmap.git
+ git@github:vlsi/compactmap
+
+
+
+
+ Vladimir Sitnikov
+ sitnikov.vladimir@gmail.com
+
+
+
+
+
+ sonatype-snapshot
+ https://oss.sonatype.org/content/repositories/snapshots/
+
+
+ sonatype
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+
+ com.github.vlsi.compactmap
+ core
+ ${project.version}
+
+
+ com.github.andrewoma.dexx
+ dexx-collections
+ 0.2
+
+
+ org.openjdk.jol
+ jol-core
+ 0.3.1
+ test
+
+
+ org.testng
+ testng
+ 6.8.7
+ test
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ 1.5
+
+
+
+
+
+
\ No newline at end of file