diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..94a25f7f4cb416c083d265558da75d457237d671
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/Documentation/ProjectNotes.txt b/Documentation/ProjectNotes.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0fc15ced5d7e78a33efb915f97124ce9c50960aa
--- /dev/null
+++ b/Documentation/ProjectNotes.txt
@@ -0,0 +1,112 @@
+-------------------------------------------------------------------------------------
+Milestones:
+-------------------------------------------------------------------------------------
+
+1. Main Menu (als Grundstruktur)
+2. Game-Engine
+    -World-Builder
+    -Player
+3. Rudimentäre Spielfunktion
+4. Powerups und Multiplayer an Tastatur
+5. Computer Gegner-KI und Statistiken
+6. Netzwerk Multiplayer und Map-Builder
+7. Parallelisierung (Audio)
+
+Optional:
+8. Open World
+
+-------------------------------------------------------------------------------------
+Mögliche Aufgabenverteilung:
+-------------------------------------------------------------------------------------
+
+-Hauptmenü
+-Netzwerkfunktion
+-Datenbankanbindung
+-Kernspiel (3-4 Personen)
+-Map-Builder
+
+-------------------------------------------------------------------------------------
+Anforderungen:
+-------------------------------------------------------------------------------------
+
+-UI
+-Networking
+
+-------------------------------------------------------------------------------------
+Anforderungsanalyse:
+-------------------------------------------------------------------------------------
+
+Inventar:
+	-nicht funktional: Anzeige an Spieler
+	-funktional: Speicherung in Datenbank
+
+Multiplayer:
+	-nicht funktional: Multiplayer integriert
+	-funktional: Umsetzung z.B. mit Network-Framework
+
+-------------------------------------------------------------------------------------
+Random ideas:
+-------------------------------------------------------------------------------------
+
+-wenn Bombe gelegt wurde kann, solange keine weitere gelegt werden bis sie explodiert ist
+-außer man hat Multibomb Powerup
+
+-Startbereich muss immer frei bleiben, auch bei Map-Builder
+
+
+_________________________________________________________________________________________
+Aktueller Stand vom 30.10. :
+Spielidee
+Kämpfe in der Arena
+
+Ideen:
+•	Map auf max. Bildschirmgröße
+•	Multiplayer per Network und Tasten
+•	Spieler bekämpft Gegner
+•	Inventar (Datenbank) mit
+	o	Nah-: Bomben, Schwerter,  …
+	o	und Fernkampfwaffen: Raketen, Miniguns, …
+	o	Powerups: Rüstungen, etc
+
+•	Shopsystem, um neue Items zu bekommen (Sammeln von Wert-Items  evtl. Speichersystem v. Spielständen)
+•	Steuerung über WASD, Leertaste = Angriff
+•	Movementrichtung=Kampfrichtung=Blickrichtung
+•	Aufbau der Map aus Blöcken/Tiles  Verschiedene Arten von Blöcken (Tracking):
+	o	Nicht-zerstörbare Blöcke
+	o	Explosive Blöcke
+			Wenn man drauf schießt
+	o	Rampen
+	o	Blöcke die man zerstören kann
+•	Lebenspunkte
+•	High-Score
+•	Persönliche Stats, Achievements
+•	Map-Builder
+•	User-Tag
+•	Etc
+
+
+
+
+
+User Stories:
+Ich als Spieler möchte mit anderen zusammen spielen können.
+Ich als Spieler möchte meine persönlichen Statistiken sehen.
+Ich  als Spieler möchte eine Auswahl an benutzbaren Items haben um Abwechslung im Spiel zu haben.
+Ich als Spieler möchte mich bewegen können.
+
+Funktionalen und nicht-funktionalen Anforderungen:
+•	Inventarsystem
+	o	Funktionale Anforderungen:
+			Speicherung der Item-stats in einer Datenbank
+	o	Nicht-funktionale Anforderungen
+			UI-Bildschirm zur Anzeige der Items im Inventar
+•	Multiplayer
+	o	Funktional:
+			Umsetzung via Network
+	o	Nicht-Funktional:
+			Multiplayer Integriert
+•	Rendering
+	o	Funktional:
+			Darstellung der Tiles in einem Graphics Context
+•	Nicht-Funktional:
+			Darstellen der Spielwelt für den Spieler
diff --git a/pom.xml b/pom.xml
index 6b387cd5a548094603f62d80029bb5acb510af78..231758b8295c2602c5156431d7eec666619df078 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,12 @@
             <version>2.21.0</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.openjfx</groupId>
+            <artifactId>javafx-media</artifactId>
+            <version>19.0.2.1</version>
+        </dependency>
+
     </dependencies>
 
     <build>
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java
new file mode 100644
index 0000000000000000000000000000000000000000..4fa73f1d596e95461bfb44775fdb526efc4377f3
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java
@@ -0,0 +1,4 @@
+package de.hdm_stuttgart.battlearena.Controller;
+
+public class MainMenuController {
+}
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java b/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java
index 95a74218f6c028edb4fc27fe651f83403eeb0d6a..f2952c692546cd275924f9d299819d2f70c7a7bf 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java
@@ -1,5 +1,34 @@
 package de.hdm_stuttgart.battlearena.Main;
 
-public class Main {
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.stage.Stage;
 
-}
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.Objects;
+
+public class Main extends Application {
+
+    private static final Logger log = LogManager.getLogger(Main.class);
+
+    public static void main(String[] args) {
+        launch(args);
+    }
+
+    @Override
+    public void start(Stage stage) throws Exception {
+        Parent root = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/MainMenu.fxml")));
+
+        Scene scene = new Scene(root);
+
+        stage.setTitle("BattleArena");
+        stage.setScene(scene);
+
+        stage.show();
+        log.debug("Project started successfully!");
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
index 5109a559a9c05749e436a0e6e89a9513109acd5a..c37776eeb147449e3fa1dbb6aaf650b8c5f12637 100644
--- a/src/main/java/module-info.java
+++ b/src/main/java/module-info.java
@@ -1,8 +1,10 @@
 module gui {
     requires javafx.controls;
     requires javafx.fxml;
+    requires javafx.media;
     requires org.apache.logging.log4j;
 
     opens de.hdm_stuttgart.battlearena to javafx.fxml;
     exports de.hdm_stuttgart.battlearena.Main;
+    exports de.hdm_stuttgart.battlearena.Controller;
 }
diff --git a/src/main/resources/fxml/MainMenu.fxml b/src/main/resources/fxml/MainMenu.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..593ebfedde7527d354af67c063ffcfc078a2472e
--- /dev/null
+++ b/src/main/resources/fxml/MainMenu.fxml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.BorderPane?>
+<?import javafx.scene.layout.VBox?>
+
+
+<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.MainMenuController">
+   <children>
+      <BorderPane prefHeight="400.0" prefWidth="600.0">
+         <center>
+            <VBox alignment="CENTER" prefHeight="200.0" prefWidth="100.0" spacing="30.0" BorderPane.alignment="CENTER">
+               <children>
+                  <Button mnemonicParsing="false" text="Button" />
+                  <Button mnemonicParsing="false" text="Button" />
+                  <Button mnemonicParsing="false" text="Button" />
+               </children>
+            </VBox>
+         </center>
+      </BorderPane>
+   </children>
+</AnchorPane>
diff --git a/src/main/resources/fxml/hello.fxml b/src/main/resources/fxml/hello.fxml
deleted file mode 100644
index bd2fbc357b7e5c89a07d9debfba7c287651fb54a..0000000000000000000000000000000000000000
--- a/src/main/resources/fxml/hello.fxml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<?import javafx.geometry.*?>
-<?import javafx.scene.control.*?>
-<?import java.lang.*?>
-<?import javafx.scene.layout.*?>
-
-
-<!--
-Adding stylesheets="/styles/styles.css" yet does not work, see FxmlGuiDriver as well.
--->
-
-<GridPane fx:controller="de.hdm_stuttgart.battlearena.HelloController"
-   hgap="5.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity"
-   prefHeight="402.0" prefWidth="600.0" styleClass="main-panel" vgap="5.0"
-   xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" >
-  <columnConstraints>
-    <ColumnConstraints hgrow="SOMETIMES" maxWidth="319.0" minWidth="10.0" prefWidth="279.0" />
-    <ColumnConstraints hgrow="SOMETIMES" maxWidth="470.0" minWidth="10.0" prefWidth="321.0" />
-  </columnConstraints>
-  <rowConstraints>
-    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-    <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
-  </rowConstraints>
-   <children>
-      <Label text="First name:" />
-      <Label text="Last name:" GridPane.rowIndex="1" />
-      <Button mnemonicParsing="false" onAction="#sayHello" text="Say hello" GridPane.rowIndex="2" />
-      <TextField fx:id="firstNameField" GridPane.columnIndex="1" />
-      <TextField fx:id="lastNameField" GridPane.columnIndex="1" GridPane.rowIndex="1" />
-      <Label fx:id="helloLabel" styleClass="hello-message" text="                   "
-               GridPane.columnIndex="1" GridPane.rowIndex="2" />
-   </children>
-   <padding>
-      <Insets bottom="20.0" left="20.0" right="20.0" top="20.0" />
-   </padding>
-</GridPane>
\ No newline at end of file
diff --git a/src/main/resources/images/background.jpg b/src/main/resources/images/background.jpg
deleted file mode 100644
index d46fe9da99a23bc3d725cb92eb82dc7294198bbf..0000000000000000000000000000000000000000
Binary files a/src/main/resources/images/background.jpg and /dev/null differ
diff --git a/src/main/resources/styles/styles.css b/src/main/resources/styles/styles.css
deleted file mode 100644
index 0da6622eacefef83809758a8dd82a6ed4f580f86..0000000000000000000000000000000000000000
--- a/src/main/resources/styles/styles.css
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Application wide styles */
-
-.label {
-    -fx-font-size: 12px;
-    -fx-font-weight: bold;
-    -fx-text-fill: #333333;
-    -fx-effect: dropshadow( gaussian , rgba(255,255,255,0.5) , 0,0,0,1 );
-}
-
-.button {
-    -fx-text-fill: white;
-    -fx-font-family: "Arial Narrow";
-    -fx-font-weight: bold;
-    -fx-background-color: linear-gradient(#61a2b1, #2A5058);
-    -fx-effect: dropshadow( three-pass-box , rgba(0,0,0,0.6) , 5, 0.0 , 0 , 1 );
-}
-
-.button:hover{
-	 -fx-background-color: #395bae;
-}
-
-/* Component specific styles */
-
-
-.main-panel {
-    -fx-background-image: url("../images/background.jpg");
-}
-
-.hello-message {
-    -fx-text-fill: #AA0000;
-    -fx-font-weight: bold;
-    -fx-effect: dropshadow( gaussian , rgba(255,255,255,0.5) , 0,0,0,1 );
-}
-
diff --git a/src/test/java/de/hdm_stuttgart/battlearena/PropertyTest.java b/src/test/java/de/hdm_stuttgart/battlearena/PropertyTest.java
deleted file mode 100644
index 66706eb4f658a53f22ae05f9621c7bc35a9d7ef2..0000000000000000000000000000000000000000
--- a/src/test/java/de/hdm_stuttgart/battlearena/PropertyTest.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package de.hdm_stuttgart.battlearena;
-
-import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Testing for existing and non-existing property keys.
- */
-public class PropertyTest {
-    /**
-     * Testing for existing property key definitions.
-     */
-    @Test
-    public void testExistingPropertyKeys() {
-        assertEquals("Reset", Conf.get("resetButton.text"));
-        assertEquals("Fields have been resetted", Conf.get("infoFieldReset"));
-    }
-    /**
-     * Testing for an inexistent property key definition.
-     */
-    @Test
-    public void testUndefinedPropertyKey() {
-        assertEquals("!nonexistentKey!", Conf.get("nonexistentKey"));
-    }
-}