diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..85e7c1d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/.idea/
diff --git a/MicLocSim/.classpath b/MicLocSim/.classpath
deleted file mode 100644
index 7bf49e9..0000000
--- a/MicLocSim/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/MicLocSim/.gitignore b/MicLocSim/.gitignore
new file mode 100644
index 0000000..9f97022
--- /dev/null
+++ b/MicLocSim/.gitignore
@@ -0,0 +1 @@
+target/
\ No newline at end of file
diff --git a/MicLocSim/.project b/MicLocSim/.project
deleted file mode 100644
index a997562..0000000
--- a/MicLocSim/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- MicLocSim
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/MicLocSim/.settings/org.eclipse.jdt.core.prefs b/MicLocSim/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 7341ab1..0000000
--- a/MicLocSim/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/MicLocSim/jar/MicLocSim.jar b/MicLocSim/jar/MicLocSim.jar
deleted file mode 100644
index 897a062..0000000
Binary files a/MicLocSim/jar/MicLocSim.jar and /dev/null differ
diff --git a/MicLocSim/jar/MicLocSim_lib/miglayout15-swing.jar b/MicLocSim/jar/MicLocSim_lib/miglayout15-swing.jar
deleted file mode 100644
index d1d962c..0000000
Binary files a/MicLocSim/jar/MicLocSim_lib/miglayout15-swing.jar and /dev/null differ
diff --git a/MicLocSim/miglayout-src.zip b/MicLocSim/miglayout-src.zip
deleted file mode 100644
index 9c51c32..0000000
Binary files a/MicLocSim/miglayout-src.zip and /dev/null differ
diff --git a/MicLocSim/miglayout15-swing.jar b/MicLocSim/miglayout15-swing.jar
deleted file mode 100644
index d1d962c..0000000
Binary files a/MicLocSim/miglayout15-swing.jar and /dev/null differ
diff --git a/MicLocSim/pom.xml b/MicLocSim/pom.xml
new file mode 100644
index 0000000..e2d13e2
--- /dev/null
+++ b/MicLocSim/pom.xml
@@ -0,0 +1,53 @@
+
+ 4.0.0
+ org.kripthor.miclocsim
+ MicLocSim
+ 1
+
+
+
+ com.miglayout
+ miglayout-swing
+ 11.4.2
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.4.2
+
+
+ src/main/resources/META-INF/MANIFEST.MF
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+ 3.7.0
+
+
+
+ src/main/resources/META-INF/MANIFEST.MF
+
+
+ jar-with-dependencies
+
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
diff --git a/MicLocSim/src/org/kripthor/miclocsim/GUI.java b/MicLocSim/src/main/java/org/kripthor/miclocsim/GUI.java
similarity index 95%
rename from MicLocSim/src/org/kripthor/miclocsim/GUI.java
rename to MicLocSim/src/main/java/org/kripthor/miclocsim/GUI.java
index 825cf3d..62889b0 100644
--- a/MicLocSim/src/org/kripthor/miclocsim/GUI.java
+++ b/MicLocSim/src/main/java/org/kripthor/miclocsim/GUI.java
@@ -1,37 +1,12 @@
package org.kripthor.miclocsim;
-import java.awt.Color;
-import java.awt.EventQueue;
-import java.awt.Font;
-import java.awt.Graphics2D;
-import java.awt.Point;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.image.BufferedImage;
-import java.util.ArrayList;
-
-import javax.swing.JButton;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JProgressBar;
-import javax.swing.JTextField;
-import javax.swing.border.LineBorder;
-
import net.miginfocom.swing.MigLayout;
-import javax.swing.SwingConstants;
-
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseWheelListener;
-import java.awt.event.MouseWheelEvent;
-
-import javax.swing.JRadioButton;
-import javax.swing.event.ChangeListener;
-import javax.swing.event.ChangeEvent;
-import java.awt.event.ItemListener;
-import java.awt.event.ItemEvent;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.*;
+import java.awt.image.BufferedImage;
+import java.util.ArrayList;
public class GUI {
diff --git a/MicLocSim/src/org/kripthor/miclocsim/JPanelImage.java b/MicLocSim/src/main/java/org/kripthor/miclocsim/JPanelImage.java
similarity index 89%
rename from MicLocSim/src/org/kripthor/miclocsim/JPanelImage.java
rename to MicLocSim/src/main/java/org/kripthor/miclocsim/JPanelImage.java
index e1f0fc9..04d4734 100644
--- a/MicLocSim/src/org/kripthor/miclocsim/JPanelImage.java
+++ b/MicLocSim/src/main/java/org/kripthor/miclocsim/JPanelImage.java
@@ -1,12 +1,10 @@
package org.kripthor.miclocsim;
-import java.awt.Color;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.image.BufferedImage;
-import java.io.File;
import javax.imageio.ImageIO;
-import javax.swing.JPanel;
+import javax.swing.*;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.File;
public class JPanelImage extends JPanel {
/**
diff --git a/MicLocSim/src/org/kripthor/miclocsim/LocationTable.java b/MicLocSim/src/main/java/org/kripthor/miclocsim/LocationTable.java
similarity index 98%
rename from MicLocSim/src/org/kripthor/miclocsim/LocationTable.java
rename to MicLocSim/src/main/java/org/kripthor/miclocsim/LocationTable.java
index 671e642..c543155 100644
--- a/MicLocSim/src/org/kripthor/miclocsim/LocationTable.java
+++ b/MicLocSim/src/main/java/org/kripthor/miclocsim/LocationTable.java
@@ -1,15 +1,8 @@
package org.kripthor.miclocsim;
-import java.awt.Color;
-import java.awt.Font;
-import java.awt.Graphics2D;
+import java.awt.*;
import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collections;
-
-import javax.imageio.ImageIO;
public class LocationTable {
diff --git a/MicLocSim/src/org/kripthor/miclocsim/LocationTableEntry.java b/MicLocSim/src/main/java/org/kripthor/miclocsim/LocationTableEntry.java
similarity index 98%
rename from MicLocSim/src/org/kripthor/miclocsim/LocationTableEntry.java
rename to MicLocSim/src/main/java/org/kripthor/miclocsim/LocationTableEntry.java
index c5b9b6c..cdb6be7 100644
--- a/MicLocSim/src/org/kripthor/miclocsim/LocationTableEntry.java
+++ b/MicLocSim/src/main/java/org/kripthor/miclocsim/LocationTableEntry.java
@@ -1,5 +1,6 @@
package org.kripthor.miclocsim;
-import java.awt.Point;
+
+import java.awt.*;
import java.util.ArrayList;
diff --git a/MicLocSim/src/org/kripthor/miclocsim/MicInfo.java b/MicLocSim/src/main/java/org/kripthor/miclocsim/MicInfo.java
similarity index 91%
rename from MicLocSim/src/org/kripthor/miclocsim/MicInfo.java
rename to MicLocSim/src/main/java/org/kripthor/miclocsim/MicInfo.java
index 4a58022..8306c52 100644
--- a/MicLocSim/src/org/kripthor/miclocsim/MicInfo.java
+++ b/MicLocSim/src/main/java/org/kripthor/miclocsim/MicInfo.java
@@ -1,5 +1,6 @@
package org.kripthor.miclocsim;
-import java.awt.Point;
+
+import java.awt.*;
public class MicInfo {
diff --git a/MicLocSim/src/main/resources/META-INF/MANIFEST.MF b/MicLocSim/src/main/resources/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..564c389
--- /dev/null
+++ b/MicLocSim/src/main/resources/META-INF/MANIFEST.MF
@@ -0,0 +1 @@
+Main-Class: org.kripthor.miclocsim.GUI