diff --git a/pom.xml b/pom.xml
index 9a5a4cd9..8062f357 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
${project.version}
${maven.build.timestamp}
yyyy-MM-dd HH:mm
- yugecin.opsudance.kernel.Entrypoint
+ yugecin.opsudance.core.Entrypoint
false
diff --git a/src/yugecin/opsudance/OpsuDance.java b/src/yugecin/opsudance/OpsuDance.java
index e53fe306..e3962618 100644
--- a/src/yugecin/opsudance/OpsuDance.java
+++ b/src/yugecin/opsudance/OpsuDance.java
@@ -24,7 +24,7 @@ import itdelatrisu.opsu.downloads.DownloadList;
import itdelatrisu.opsu.downloads.Updater;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.DisplayContainer;
-import yugecin.opsudance.errorhandling.ErrorHandler;
+import yugecin.opsudance.core.errorhandling.ErrorHandler;
import yugecin.opsudance.states.EmptyState;
import java.io.File;
@@ -33,7 +33,7 @@ import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.UnknownHostException;
-import static yugecin.opsudance.kernel.Entrypoint.sout;
+import static yugecin.opsudance.core.Entrypoint.sout;
/*
* loosely based on itdelatrisu.opsu.Opsu
diff --git a/src/yugecin/opsudance/core/Demux.java b/src/yugecin/opsudance/core/Demux.java
index 8d1f095d..78ed0c4b 100644
--- a/src/yugecin/opsudance/core/Demux.java
+++ b/src/yugecin/opsudance/core/Demux.java
@@ -23,8 +23,8 @@ import org.newdawn.slick.KeyListener;
import org.newdawn.slick.MouseListener;
import yugecin.opsudance.core.state.specialstates.FpsRenderState;
import yugecin.opsudance.core.state.transitions.*;
-import yugecin.opsudance.errorhandling.ErrorDumpable;
-import yugecin.opsudance.kernel.InstanceContainer;
+import yugecin.opsudance.core.errorhandling.ErrorDumpable;
+import yugecin.opsudance.core.inject.InstanceContainer;
import yugecin.opsudance.core.state.OpsuState;
import java.io.StringWriter;
diff --git a/src/yugecin/opsudance/core/DisplayContainer.java b/src/yugecin/opsudance/core/DisplayContainer.java
index fbb13391..2a2e804d 100644
--- a/src/yugecin/opsudance/core/DisplayContainer.java
+++ b/src/yugecin/opsudance/core/DisplayContainer.java
@@ -32,13 +32,13 @@ import org.newdawn.slick.opengl.renderer.Renderer;
import org.newdawn.slick.opengl.renderer.SGL;
import org.newdawn.slick.util.Log;
import yugecin.opsudance.core.events.EventBus;
-import yugecin.opsudance.errorhandling.ErrorDumpable;
+import yugecin.opsudance.core.errorhandling.ErrorDumpable;
import yugecin.opsudance.events.ResolutionChangedEvent;
import yugecin.opsudance.utils.GLHelper;
import java.io.StringWriter;
-import static yugecin.opsudance.kernel.Entrypoint.sout;
+import static yugecin.opsudance.core.Entrypoint.sout;
/**
* based on org.newdawn.slick.AppGameContainer
diff --git a/src/yugecin/opsudance/kernel/Entrypoint.java b/src/yugecin/opsudance/core/Entrypoint.java
similarity index 93%
rename from src/yugecin/opsudance/kernel/Entrypoint.java
rename to src/yugecin/opsudance/core/Entrypoint.java
index 8676e2a4..88225e8c 100644
--- a/src/yugecin/opsudance/kernel/Entrypoint.java
+++ b/src/yugecin/opsudance/core/Entrypoint.java
@@ -15,10 +15,10 @@
* You should have received a copy of the GNU General Public License
* along with opsu!dance. If not, see .
*/
-package yugecin.opsudance.kernel;
+package yugecin.opsudance.core;
import yugecin.opsudance.OpsuDance;
-import yugecin.opsudance.inject.OpsuDanceInjector;
+import yugecin.opsudance.core.inject.OpsuDanceInjector;
public class Entrypoint {
diff --git a/src/yugecin/opsudance/errorhandling/ErrorDumpable.java b/src/yugecin/opsudance/core/errorhandling/ErrorDumpable.java
similarity index 94%
rename from src/yugecin/opsudance/errorhandling/ErrorDumpable.java
rename to src/yugecin/opsudance/core/errorhandling/ErrorDumpable.java
index b822a735..a47f75ae 100644
--- a/src/yugecin/opsudance/errorhandling/ErrorDumpable.java
+++ b/src/yugecin/opsudance/core/errorhandling/ErrorDumpable.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with opsu!dance. If not, see .
*/
-package yugecin.opsudance.errorhandling;
+package yugecin.opsudance.core.errorhandling;
import java.io.StringWriter;
diff --git a/src/yugecin/opsudance/errorhandling/ErrorHandler.java b/src/yugecin/opsudance/core/errorhandling/ErrorHandler.java
similarity index 99%
rename from src/yugecin/opsudance/errorhandling/ErrorHandler.java
rename to src/yugecin/opsudance/core/errorhandling/ErrorHandler.java
index 46f7dc93..163a1940 100644
--- a/src/yugecin/opsudance/errorhandling/ErrorHandler.java
+++ b/src/yugecin/opsudance/core/errorhandling/ErrorHandler.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with opsu!dance. If not, see .
*/
-package yugecin.opsudance.errorhandling;
+package yugecin.opsudance.core.errorhandling;
import itdelatrisu.opsu.Options;
import itdelatrisu.opsu.Utils;
diff --git a/src/yugecin/opsudance/inject/Binder.java b/src/yugecin/opsudance/core/inject/Binder.java
similarity index 95%
rename from src/yugecin/opsudance/inject/Binder.java
rename to src/yugecin/opsudance/core/inject/Binder.java
index 2df509ba..16f33180 100644
--- a/src/yugecin/opsudance/inject/Binder.java
+++ b/src/yugecin/opsudance/core/inject/Binder.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with opsu!dance. If not, see .
*/
-package yugecin.opsudance.inject;
+package yugecin.opsudance.core.inject;
public interface Binder {
diff --git a/src/yugecin/opsudance/inject/Injector.java b/src/yugecin/opsudance/core/inject/Injector.java
similarity index 97%
rename from src/yugecin/opsudance/inject/Injector.java
rename to src/yugecin/opsudance/core/inject/Injector.java
index 5c301583..fb075533 100644
--- a/src/yugecin/opsudance/inject/Injector.java
+++ b/src/yugecin/opsudance/core/inject/Injector.java
@@ -15,9 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with opsu!dance. If not, see .
*/
-package yugecin.opsudance.inject;
-
-import yugecin.opsudance.kernel.InstanceContainer;
+package yugecin.opsudance.core.inject;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
diff --git a/src/yugecin/opsudance/kernel/InstanceContainer.java b/src/yugecin/opsudance/core/inject/InstanceContainer.java
similarity index 95%
rename from src/yugecin/opsudance/kernel/InstanceContainer.java
rename to src/yugecin/opsudance/core/inject/InstanceContainer.java
index b82251be..7cc0065d 100644
--- a/src/yugecin/opsudance/kernel/InstanceContainer.java
+++ b/src/yugecin/opsudance/core/inject/InstanceContainer.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with opsu!dance. If not, see .
*/
-package yugecin.opsudance.kernel;
+package yugecin.opsudance.core.inject;
public interface InstanceContainer {
diff --git a/src/yugecin/opsudance/inject/OpsuDanceInjector.java b/src/yugecin/opsudance/core/inject/OpsuDanceInjector.java
similarity index 95%
rename from src/yugecin/opsudance/inject/OpsuDanceInjector.java
rename to src/yugecin/opsudance/core/inject/OpsuDanceInjector.java
index e82c6d41..2185472c 100644
--- a/src/yugecin/opsudance/inject/OpsuDanceInjector.java
+++ b/src/yugecin/opsudance/core/inject/OpsuDanceInjector.java
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with opsu!dance. If not, see .
*/
-package yugecin.opsudance.inject;
+package yugecin.opsudance.core.inject;
import yugecin.opsudance.PreStartupInitializer;
import yugecin.opsudance.core.Demux;
@@ -25,7 +25,7 @@ import yugecin.opsudance.core.state.specialstates.FpsRenderState;
import yugecin.opsudance.core.state.transitions.EmptyTransitionState;
import yugecin.opsudance.core.state.transitions.FadeInTransitionState;
import yugecin.opsudance.core.state.transitions.FadeOutTransitionState;
-import yugecin.opsudance.errorhandling.ErrorHandler;
+import yugecin.opsudance.core.errorhandling.ErrorHandler;
import yugecin.opsudance.states.EmptyRedState;
import yugecin.opsudance.states.EmptyState;
diff --git a/src/yugecin/opsudance/core/state/OpsuState.java b/src/yugecin/opsudance/core/state/OpsuState.java
index 36d2e581..059d8ba2 100644
--- a/src/yugecin/opsudance/core/state/OpsuState.java
+++ b/src/yugecin/opsudance/core/state/OpsuState.java
@@ -18,7 +18,7 @@
package yugecin.opsudance.core.state;
import org.newdawn.slick.Graphics;
-import yugecin.opsudance.errorhandling.ErrorDumpable;
+import yugecin.opsudance.core.errorhandling.ErrorDumpable;
public interface OpsuState extends ErrorDumpable {