diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/LocalCreateController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/LocalCreateController.java
index 8f070dfa53c545e24174bf78ce44e3a3f8612300..c3abb1068632795a70cfec81b2f5bc0cf594d921 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/LocalCreateController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/LocalCreateController.java
@@ -1,4 +1,14 @@
 package de.hdm_stuttgart.battlearena.Controller;
 
-public class LocalCreateController {
+import javafx.fxml.FXML;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.Pane;
+
+public class LocalCreateController extends SceneLoader {
+    @FXML public BorderPane parent;
+
+    public void playScene() {
+        Pane pane = new Pane(loadScene("Play"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
 }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java
index 4fa73f1d596e95461bfb44775fdb526efc4377f3..db1ccca54877cad742506b8495a1bece0c0543fe 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MainMenuController.java
@@ -1,4 +1,23 @@
 package de.hdm_stuttgart.battlearena.Controller;
 
-public class MainMenuController {
+import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.Pane;
+import javafx.stage.Stage;
+
+public class MainMenuController extends SceneLoader {
+    @FXML public BorderPane parent;
+    @FXML public Button exitButton;
+
+    public void playScene() {
+        Pane pane = new Pane(loadScene("Play"));
+//        get(0) returns the first item from the getChildren() List
+        parent.setCenter(pane.getChildren().get(0));
+    }
+
+    public void exit() {
+        Stage stage = (Stage) exitButton.getScene().getWindow();
+        stage.close();
+    }
 }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerController.java
index e860d29af1d51d5ac383f7ab3e3120d600116aee..35ce9c8b5cc56b6df8b25bf434abd1236f674c95 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerController.java
@@ -1,4 +1,24 @@
 package de.hdm_stuttgart.battlearena.Controller;
 
-public class MultiplayerController {
+import javafx.fxml.FXML;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.Pane;
+
+public class MultiplayerController extends SceneLoader {
+    @FXML public BorderPane parent;
+
+    public void multiplayerCreateScene() {
+        Pane pane = new Pane(loadScene("MultiplayerCreate"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
+
+    public void multiplayerJoinScene() {
+        Pane pane = new Pane(loadScene("MultiplayerJoin"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
+
+    public void playScene() {
+        Pane pane = new Pane(loadScene("Play"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
 }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerCreateController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerCreateController.java
index 860a75eb780e2ef88b8290edfb9835330f9e9536..aa497cc6332d0d89d55f8fb500b2aa1ca2f94bc6 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerCreateController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerCreateController.java
@@ -1,4 +1,14 @@
 package de.hdm_stuttgart.battlearena.Controller;
 
-public class MultiplayerCreateController {
+import javafx.fxml.FXML;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.Pane;
+
+public class MultiplayerCreateController extends SceneLoader {
+    @FXML public BorderPane parent;
+
+    public void multiplayerScene() {
+        Pane pane = new Pane(loadScene("Multiplayer"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
 }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerJoinController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerJoinController.java
index 718bedee3c413dcf93e149897865b37c5aaef349..436363c2f056662f8901400cacc8c4f1c4ac1c3f 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerJoinController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MultiplayerJoinController.java
@@ -1,4 +1,14 @@
 package de.hdm_stuttgart.battlearena.Controller;
 
-public class MultiplayerJoinController {
+import javafx.fxml.FXML;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.Pane;
+
+public class MultiplayerJoinController extends SceneLoader{
+    @FXML public BorderPane parent;
+
+    public void multiplayerScene() {
+        Pane pane = new Pane(loadScene("Multiplayer"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
 }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/PlayController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/PlayController.java
index 3b30742bb2d86409b65dff30ab66bbc19e049ab2..821792e87e11e56d2603a8607797015bf6a9bf4e 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/PlayController.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/PlayController.java
@@ -1,4 +1,24 @@
 package de.hdm_stuttgart.battlearena.Controller;
 
-public class PlayController {
+import javafx.fxml.FXML;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.Pane;
+
+public class PlayController extends SceneLoader {
+    @FXML public BorderPane parent;
+
+    public void mainMenuScene() {
+        Pane pane = new Pane(loadScene("MainMenu"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
+
+    public void localScene() {
+        Pane pane = new Pane(loadScene("LocalCreate"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
+
+    public void multiplayerScene() {
+        Pane pane = new Pane(loadScene("Multiplayer"));
+        parent.setCenter(pane.getChildren().get(0));
+    }
 }
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 f2952c692546cd275924f9d299819d2f70c7a7bf..31ddc730fa788dd3c6b5a885bef2ee788d0918cf 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java
@@ -27,6 +27,9 @@ public class Main extends Application {
 
         stage.setTitle("BattleArena");
         stage.setScene(scene);
+        stage.minHeightProperty().setValue(400);
+        stage.minWidthProperty().setValue(600);
+        stage.setMaximized(true);
 
         stage.show();
         log.debug("Project started successfully!");
diff --git a/src/main/resources/fxml/LocalCreate.fxml b/src/main/resources/fxml/LocalCreate.fxml
index 962dfe3d6852b4f70c36ba1f57b7999d2541fb96..c52d798ec1531779f7cbbafb3cfa30829e4f6b49 100644
--- a/src/main/resources/fxml/LocalCreate.fxml
+++ b/src/main/resources/fxml/LocalCreate.fxml
@@ -11,7 +11,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Text?>
 
-<BorderPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.LocalCreateController">
+<BorderPane fx:id="parent" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.LocalCreateController">
    <center>
       <VBox alignment="TOP_CENTER" spacing="10.0" BorderPane.alignment="TOP_CENTER">
          <children>
@@ -76,7 +76,7 @@
                </children>
             </HBox>
             <Button mnemonicParsing="false" text="Start" />
-            <Button mnemonicParsing="false" text="Back">
+            <Button mnemonicParsing="false" onAction="#playScene" text="Back">
                <VBox.margin>
                   <Insets bottom="50.0" />
                </VBox.margin>
diff --git a/src/main/resources/fxml/MainMenu.fxml b/src/main/resources/fxml/MainMenu.fxml
index 1fcdec859d2b0f13b456956a091b9998f2ab290e..58e9be7cb65b4041d4be56f858f1cfdf84d5e385 100644
--- a/src/main/resources/fxml/MainMenu.fxml
+++ b/src/main/resources/fxml/MainMenu.fxml
@@ -6,19 +6,19 @@
 <?import javafx.scene.layout.Pane?>
 <?import javafx.scene.layout.VBox?>
 
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.MainMenuController">
+<BorderPane fx:id="parent" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.MainMenuController">
    <center>
       <VBox alignment="CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="200.0" prefWidth="100.0" spacing="50.0" BorderPane.alignment="CENTER">
          <children>
             <Pane VBox.vgrow="ALWAYS" />
-            <Button mnemonicParsing="false" text="Play" VBox.vgrow="ALWAYS">
+            <Button mnemonicParsing="false" onAction="#playScene" text="Play" VBox.vgrow="ALWAYS">
                <VBox.margin>
                   <Insets top="20.0" />
                </VBox.margin>
             </Button>
             <Button mnemonicParsing="false" text="Map Creator" VBox.vgrow="ALWAYS" />
             <Button mnemonicParsing="false" text="Statistics" VBox.vgrow="ALWAYS" />
-            <Button alignment="CENTER" mnemonicParsing="false" text="Exit" />
+            <Button fx:id="exitButton" alignment="CENTER" mnemonicParsing="false" onAction="#exit" text="Exit" />
             <Pane VBox.vgrow="ALWAYS" />
             <Pane layoutX="10.0" layoutY="395.0" VBox.vgrow="ALWAYS" />
          </children>
diff --git a/src/main/resources/fxml/Multiplayer.fxml b/src/main/resources/fxml/Multiplayer.fxml
index d3708a3cc7adf4eab4b3bdfc22631cf4ec45e26a..f23ded2bd0c75ded59f2be00dba243eac2059ff0 100644
--- a/src/main/resources/fxml/Multiplayer.fxml
+++ b/src/main/resources/fxml/Multiplayer.fxml
@@ -6,21 +6,21 @@
 <?import javafx.scene.layout.Pane?>
 <?import javafx.scene.layout.VBox?>
 
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.PlayController">
+<BorderPane fx:id="parent" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.MultiplayerController">
    <center>
       <VBox alignment="TOP_CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="200.0" prefWidth="100.0" spacing="50.0" BorderPane.alignment="CENTER">
          <children>
             <Pane maxHeight="1.7976931348623157E308" prefHeight="200.0" prefWidth="200.0" VBox.vgrow="ALWAYS" />
-            <Button mnemonicParsing="false" text="Create" VBox.vgrow="ALWAYS">
+            <Button mnemonicParsing="false" onAction="#multiplayerCreateScene" text="Create" VBox.vgrow="ALWAYS">
                <VBox.margin>
                   <Insets top="20.0" />
                </VBox.margin>
             </Button>
-            <Button mnemonicParsing="false" text="Join" VBox.vgrow="ALWAYS">
+            <Button mnemonicParsing="false" onAction="#multiplayerJoinScene" text="Join" VBox.vgrow="ALWAYS">
                <VBox.margin>
                   <Insets bottom="50.0" />
                </VBox.margin></Button>
-            <Button alignment="CENTER" mnemonicParsing="false" text="Back">
+            <Button alignment="CENTER" mnemonicParsing="false" onAction="#playScene" text="Back">
                <VBox.margin>
                   <Insets />
                </VBox.margin></Button>
diff --git a/src/main/resources/fxml/MultiplayerCreate.fxml b/src/main/resources/fxml/MultiplayerCreate.fxml
index 734dd97f58d822def3e38cee0b66adb91cd0abd7..d9bc89d6a0447c63ef800f264f85ccacf71be198 100644
--- a/src/main/resources/fxml/MultiplayerCreate.fxml
+++ b/src/main/resources/fxml/MultiplayerCreate.fxml
@@ -11,10 +11,11 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Text?>
 
-<BorderPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.MultiplayerCreateController">
+<BorderPane fx:id="parent" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.MultiplayerCreateController">
    <center>
-      <VBox alignment="TOP_CENTER" prefHeight="200.0" prefWidth="100.0" BorderPane.alignment="CENTER">
+      <VBox alignment="TOP_CENTER" prefHeight="200.0" prefWidth="100.0" spacing="20.0" BorderPane.alignment="CENTER">
          <children>
+            <Pane VBox.vgrow="ALWAYS" />
             <HBox alignment="TOP_CENTER" spacing="20.0">
                <children>
                   <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Text:" />
@@ -24,14 +25,12 @@
                   <Insets top="50.0" />
                </VBox.margin>
             </HBox>
-            <Pane prefHeight="200.0" prefWidth="600.0" />
             <HBox alignment="TOP_CENTER" layoutX="10.0" layoutY="10.0" maxWidth="-Infinity" minWidth="-Infinity" prefHeight="25.0" prefWidth="213.0" spacing="20.0">
                <children>
                   <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Text:" />
                   <TextField />
                </children>
             </HBox>
-            <Pane prefHeight="200.0" prefWidth="200.0" />
             <HBox alignment="TOP_CENTER" layoutX="10.0" layoutY="110.0" spacing="10.0">
                <children>
                   <Text strokeType="OUTSIDE" strokeWidth="0.0" text="Text:" />
@@ -39,7 +38,7 @@
                   <RadioButton mnemonicParsing="false" text="No" />
                </children>
             </HBox>
-            <AnchorPane prefHeight="200.0" prefWidth="200.0">
+            <AnchorPane minHeight="-Infinity" prefHeight="39.0" prefWidth="600.0">
                <children>
                   <VBox alignment="TOP_CENTER" layoutX="250.0" prefHeight="200.0" prefWidth="100.0" AnchorPane.leftAnchor="250.0" AnchorPane.rightAnchor="250.0">
                      <children>
@@ -51,8 +50,10 @@
                   <Insets top="20.0" />
                </VBox.margin>
             </AnchorPane>
-            <Button mnemonicParsing="false" text="Button" />
-            <Button mnemonicParsing="false" text="Button" />
+            <Button mnemonicParsing="false" text="Start" />
+            <Button mnemonicParsing="false" onAction="#multiplayerScene" text="Back" />
+            <Pane layoutX="10.0" layoutY="398.0" VBox.vgrow="ALWAYS" />
+            <Pane layoutX="10.0" layoutY="393.0" VBox.vgrow="ALWAYS" />
          </children>
       </VBox>
    </center>
diff --git a/src/main/resources/fxml/MultiplayerJoin.fxml b/src/main/resources/fxml/MultiplayerJoin.fxml
index 413935d56afb2316f98b82b113dde9d7fb3bb961..9126182f37fda0a232ec8270eba94debe56c57d5 100644
--- a/src/main/resources/fxml/MultiplayerJoin.fxml
+++ b/src/main/resources/fxml/MultiplayerJoin.fxml
@@ -7,7 +7,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Text?>
 
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.PlayController">
+<BorderPane fx:id="parent" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.MultiplayerJoinController">
    <center>
       <VBox alignment="TOP_CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="200.0" prefWidth="100.0" spacing="50.0" BorderPane.alignment="CENTER">
          <children>
@@ -17,7 +17,7 @@
             <Button mnemonicParsing="false" text="Connect" VBox.vgrow="ALWAYS" />
             <Text strokeType="OUTSIDE" strokeWidth="0.0" text="[Error Message]" />
             <Pane maxHeight="1.7976931348623157E308" prefHeight="200.0" prefWidth="200.0" VBox.vgrow="ALWAYS" />
-            <Button alignment="CENTER" mnemonicParsing="false" text="Back" />
+            <Button alignment="CENTER" mnemonicParsing="false" onAction="#multiplayerScene" text="Back" />
             <Pane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="20.0" VBox.vgrow="ALWAYS" />
          </children>
       </VBox>
diff --git a/src/main/resources/fxml/Play.fxml b/src/main/resources/fxml/Play.fxml
index ffd2f0dd6e77e2d55ec9b564a9ab14c5482ff0ee..ccd2f64c395d76aa20b689a7c3f2606821df61c0 100644
--- a/src/main/resources/fxml/Play.fxml
+++ b/src/main/resources/fxml/Play.fxml
@@ -6,18 +6,18 @@
 <?import javafx.scene.layout.Pane?>
 <?import javafx.scene.layout.VBox?>
 
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.PlayController">
+<BorderPane fx:id="parent" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.PlayController">
    <center>
       <VBox alignment="TOP_CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="200.0" prefWidth="100.0" spacing="50.0" BorderPane.alignment="CENTER">
          <children>
             <Pane VBox.vgrow="ALWAYS" />
-            <Button mnemonicParsing="false" text="Local" VBox.vgrow="ALWAYS">
+            <Button mnemonicParsing="false" onAction="#localScene" text="Local" VBox.vgrow="ALWAYS">
                <VBox.margin>
                   <Insets top="20.0" />
                </VBox.margin>
             </Button>
-            <Button mnemonicParsing="false" text="Multiplayer" VBox.vgrow="ALWAYS" />
-            <Button alignment="CENTER" mnemonicParsing="false" text="Back">
+            <Button mnemonicParsing="false" onAction="#multiplayerScene" text="Multiplayer" VBox.vgrow="ALWAYS" />
+            <Button alignment="CENTER" mnemonicParsing="false" onAction="#mainMenuScene" text="Back">
                <VBox.margin>
                   <Insets top="50.0" />
                </VBox.margin></Button>