diff --git a/graphics/glfw/src/main/java/de/staropensource/sosengine/graphics/glfw/classes/GlfwManagementClass.java b/graphics/glfw/src/main/java/de/staropensource/sosengine/graphics/glfw/classes/GlfwManagementClass.java
index 6e86b19..ef566a2 100644
--- a/graphics/glfw/src/main/java/de/staropensource/sosengine/graphics/glfw/classes/GlfwManagementClass.java
+++ b/graphics/glfw/src/main/java/de/staropensource/sosengine/graphics/glfw/classes/GlfwManagementClass.java
@@ -23,7 +23,7 @@ import de.staropensource.sosengine.base.logging.LoggerInstance;
import de.staropensource.sosengine.base.types.CodePart;
import de.staropensource.sosengine.base.types.logging.LogIssuer;
import de.staropensource.sosengine.base.utility.Miscellaneous;
-import de.staropensource.sosengine.graphics.classes.ApiManagementClass;
+import de.staropensource.sosengine.graphics.classes.api.ApiManagementClass;
import de.staropensource.sosengine.graphics.classes.Window;
import de.staropensource.sosengine.graphics.glfw.exceptions.NotOnMainThreadException;
import lombok.Getter;
diff --git a/graphics/opengl/src/main/java/de/staropensource/sosengine/graphics/opengl/OpenGlInternalApi.java b/graphics/opengl/src/main/java/de/staropensource/sosengine/graphics/opengl/OpenGlInternalApi.java
index 7935b48..720ad0c 100644
--- a/graphics/opengl/src/main/java/de/staropensource/sosengine/graphics/opengl/OpenGlInternalApi.java
+++ b/graphics/opengl/src/main/java/de/staropensource/sosengine/graphics/opengl/OpenGlInternalApi.java
@@ -19,7 +19,7 @@
package de.staropensource.sosengine.graphics.opengl;
-import de.staropensource.sosengine.graphics.classes.ApiInternalClass;
+import de.staropensource.sosengine.graphics.classes.api.ApiInternalClass;
import de.staropensource.sosengine.graphics.classes.Window;
import de.staropensource.sosengine.graphics.opengl.classes.OpenGlWindow;
import org.jetbrains.annotations.NotNull;
diff --git a/graphics/opengl/src/main/java/de/staropensource/sosengine/graphics/opengl/OpenGlSubsystem.java b/graphics/opengl/src/main/java/de/staropensource/sosengine/graphics/opengl/OpenGlSubsystem.java
index e5c0231..0dacb4c 100644
--- a/graphics/opengl/src/main/java/de/staropensource/sosengine/graphics/opengl/OpenGlSubsystem.java
+++ b/graphics/opengl/src/main/java/de/staropensource/sosengine/graphics/opengl/OpenGlSubsystem.java
@@ -29,9 +29,9 @@ import de.staropensource.sosengine.base.types.DependencyVector;
import de.staropensource.sosengine.base.types.EventPriority;
import de.staropensource.sosengine.base.types.logging.LogIssuer;
import de.staropensource.sosengine.graphics.GraphicsSubsystem;
-import de.staropensource.sosengine.graphics.classes.ApiInternalClass;
-import de.staropensource.sosengine.graphics.classes.ApiMainClass;
-import de.staropensource.sosengine.graphics.classes.ApiManagementClass;
+import de.staropensource.sosengine.graphics.classes.api.ApiInternalClass;
+import de.staropensource.sosengine.graphics.classes.api.ApiMainClass;
+import de.staropensource.sosengine.graphics.classes.api.ApiManagementClass;
import de.staropensource.sosengine.graphics.events.GraphicsApiErrorEvent;
import de.staropensource.sosengine.graphics.events.GraphicsErrorEvent;
import de.staropensource.sosengine.graphics.glfw.GlfwSubsystem;
diff --git a/graphics/src/main/java/de/staropensource/sosengine/graphics/GraphicsSubsystem.java b/graphics/src/main/java/de/staropensource/sosengine/graphics/GraphicsSubsystem.java
index 0e172f5..ac6b25d 100644
--- a/graphics/src/main/java/de/staropensource/sosengine/graphics/GraphicsSubsystem.java
+++ b/graphics/src/main/java/de/staropensource/sosengine/graphics/GraphicsSubsystem.java
@@ -32,7 +32,7 @@ import de.staropensource.sosengine.base.types.DependencyVector;
import de.staropensource.sosengine.base.types.logging.LogIssuer;
import de.staropensource.sosengine.base.utility.ListFormatter;
import de.staropensource.sosengine.base.utility.Miscellaneous;
-import de.staropensource.sosengine.graphics.classes.ApiMainClass;
+import de.staropensource.sosengine.graphics.classes.api.ApiMainClass;
import de.staropensource.sosengine.graphics.events.GraphicsApiErrorEvent;
import de.staropensource.sosengine.graphics.events.GraphicsApiShutdownEvent;
import de.staropensource.sosengine.graphics.events.GraphicsErrorEvent;
diff --git a/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiInternalClass.java b/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiInternalClass.java
similarity index 91%
rename from graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiInternalClass.java
rename to graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiInternalClass.java
index f93fcea..c62c5ad 100644
--- a/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiInternalClass.java
+++ b/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiInternalClass.java
@@ -17,8 +17,9 @@
* along with this program. If not, see .
*/
-package de.staropensource.sosengine.graphics.classes;
+package de.staropensource.sosengine.graphics.classes.api;
+import de.staropensource.sosengine.graphics.classes.Window;
import org.jetbrains.annotations.NotNull;
/**
diff --git a/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiMainClass.java b/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiMainClass.java
similarity index 97%
rename from graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiMainClass.java
rename to graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiMainClass.java
index 82d29f7..3292eac 100644
--- a/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiMainClass.java
+++ b/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiMainClass.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.staropensource.sosengine.graphics.classes;
+package de.staropensource.sosengine.graphics.classes.api;
import de.staropensource.sosengine.base.Engine;
import de.staropensource.sosengine.base.annotations.EventListener;
diff --git a/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiManagementClass.java b/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiManagementClass.java
similarity index 98%
rename from graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiManagementClass.java
rename to graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiManagementClass.java
index 3b819f6..9bc0db7 100644
--- a/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/ApiManagementClass.java
+++ b/graphics/src/main/java/de/staropensource/sosengine/graphics/classes/api/ApiManagementClass.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package de.staropensource.sosengine.graphics.classes;
+package de.staropensource.sosengine.graphics.classes.api;
import de.staropensource.sosengine.base.logging.LoggerInstance;
import de.staropensource.sosengine.base.types.CodePart;
@@ -25,6 +25,7 @@ import de.staropensource.sosengine.base.types.logging.LogIssuer;
import de.staropensource.sosengine.base.utility.Math;
import de.staropensource.sosengine.base.utility.Miscellaneous;
import de.staropensource.sosengine.graphics.GraphicsSubsystemConfiguration;
+import de.staropensource.sosengine.graphics.classes.Window;
import lombok.AccessLevel;
import lombok.Getter;
import org.jetbrains.annotations.NotNull;
diff --git a/graphics/src/main/java/module-info.java b/graphics/src/main/java/module-info.java
index 3056753..7aca7da 100644
--- a/graphics/src/main/java/module-info.java
+++ b/graphics/src/main/java/module-info.java
@@ -14,6 +14,7 @@ module sosengine.graphics {
// API access
exports de.staropensource.sosengine.graphics;
exports de.staropensource.sosengine.graphics.classes;
+ exports de.staropensource.sosengine.graphics.classes.api;
exports de.staropensource.sosengine.graphics.events;
exports de.staropensource.sosengine.graphics.types.input;
exports de.staropensource.sosengine.graphics.types.window;
@@ -21,6 +22,7 @@ module sosengine.graphics {
// Reflection access
opens de.staropensource.sosengine.graphics;
opens de.staropensource.sosengine.graphics.classes;
+ opens de.staropensource.sosengine.graphics.classes.api;
opens de.staropensource.sosengine.graphics.events;
opens de.staropensource.sosengine.graphics.types.input;
opens de.staropensource.sosengine.graphics.types.window;
diff --git a/testapp/src/main/java/de/staropensource/sosengine/testapp/Main.java b/testapp/src/main/java/de/staropensource/sosengine/testapp/Main.java
index 9b25155..e2f5f8d 100644
--- a/testapp/src/main/java/de/staropensource/sosengine/testapp/Main.java
+++ b/testapp/src/main/java/de/staropensource/sosengine/testapp/Main.java
@@ -29,13 +29,12 @@ import de.staropensource.sosengine.base.types.vectors.Vec2i;
import de.staropensource.sosengine.base.utility.Miscellaneous;
import de.staropensource.sosengine.base.utility.parser.StackTraceParser;
import de.staropensource.sosengine.graphics.GraphicsSubsystem;
-import de.staropensource.sosengine.graphics.classes.ApiMainClass;
-import de.staropensource.sosengine.graphics.classes.ApiManagementClass;
+import de.staropensource.sosengine.graphics.classes.api.ApiMainClass;
+import de.staropensource.sosengine.graphics.classes.api.ApiManagementClass;
import de.staropensource.sosengine.graphics.classes.Window;
import de.staropensource.sosengine.graphics.events.InputEvent;
import de.staropensource.sosengine.graphics.types.input.Key;
import de.staropensource.sosengine.graphics.types.input.KeyState;
-import de.staropensource.sosengine.graphics.types.window.VsyncMode;
import lombok.Getter;
import lombok.SneakyThrows;
import org.jetbrains.annotations.NotNull;