diff --git a/.idea/misc.xml b/.idea/misc.xml
index bada8b5d8bca9cecb234d46cbd97f2c04bbc9eda..f33e38f0f5d3f09852522d1e2b2b2325f91a3785 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,4 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ExternalStorageConfigurationManager" enabled="true" />
   <component name="MavenProjectsManager">
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 d3551b39bf8a7f264a942e2024266d4535eff3df..c0b72d22f39968742ba6e171b09cac77ad2c673d 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,6 @@
 package de.hdm_stuttgart.battlearena.Main;
 
+import de.hdm_stuttgart.battlearena.Model.Sound.MusicType;
 import de.hdm_stuttgart.battlearena.Model.Sound.SFX;
 import de.hdm_stuttgart.battlearena.Model.Sound.SoundManager;
 import javafx.application.Application;
@@ -23,19 +24,27 @@ public class Main extends Application {
 
     @Override
     public void start(Stage stage) throws Exception {
-        Parent root = FXMLLoader.load(Objects.requireNonNull(getClass().getResource("/fxml/MainMenu.fxml")));
+        final FXMLLoader loader = new FXMLLoader();
+        Parent root = loader.load(getClass().getResourceAsStream("/fxml/MainMenu.fxml"));
 
         Scene scene = new Scene(root);
 
         stage.setTitle("BattleArena");
         stage.setScene(scene);
+
+
         SoundManager soundManager = new SoundManager();
 
+        stage.setOnCloseRequest(event -> {
+            // Add logic here to stop media playback gracefully when the stage closes
+            if (soundManager != null) {
+                soundManager.stopMusic();
+            }
+            // Other cleanup tasks if needed
+        });
 
+        soundManager.playMusic(MusicType.GAME);
 
-        soundManager.playSound("/sound/music/musicPlaceholder.wav", SFX.WALKING, true);
-        //soundManager.playMusic("/sound/music/musicPlaceholder.mp3");
-        //soundManager.playSoundEffect(SFX.WALKING, false);
         stage.show();
         log.debug("Project started successfully!");
     }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/ISoundManager.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/ISoundManager.java
index 45336b0965da74c3e9744e4a5354532ec3086f5d..7f31c780e19380b4f58e02ab5a854d8b25ea2019 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/ISoundManager.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/ISoundManager.java
@@ -7,12 +7,10 @@ import java.util.List;
 
 public interface ISoundManager {
 
-    void playSound(String path, SFX soundEffect, boolean playLoop) throws InterruptedException, MalformedURLException;
 
-    void playMusic (String musicPath);
 
-    void playSoundEffect(SFX effects, boolean playLoop) throws InterruptedException, MalformedURLException;
+    void playSoundEffect() throws InterruptedException, MalformedURLException; //plays sound effects only
 
-    List<Path> getFilePathsFromResources(Path folderPath) throws IOException;
+    List<Path> getFilePathsFromResources(Path folderPath) throws IOException; // gets file-paths in a Folder as a list
 
 }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java
new file mode 100644
index 0000000000000000000000000000000000000000..b7d5924e85a9559d88db4bf4a295fd235fc2aa5b
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java
@@ -0,0 +1,16 @@
+package de.hdm_stuttgart.battlearena.Model.Sound;
+
+public enum MusicType {
+    MENU("src/main/resources/sound/music/menu"),
+    OPTIONS("src/main/resources/sound/music/options"),
+    GAME("src/main/resources/sound/music/game");
+
+    private String path;
+    MusicType(String path){
+        this.path = path;
+    }
+
+    public String getPath(){
+        return path;
+    }
+}
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SFX.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SFX.java
index dd7e6e7ce2d78e9d30f539efa15ab0ebb9fa88cc..4c4dae812049378d829bd1a0c1d6d3504e350530 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SFX.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SFX.java
@@ -1,8 +1,17 @@
 package de.hdm_stuttgart.battlearena.Model.Sound;
 
 public enum SFX {
-    WALKING,
+    GRASS("/sound/sfx/steps/grass"),
+    STONE("/sound/sfx/steps/stone"),
+    COLLISION("/sound/sfx/collision"),
+    ATTACK("/sound/sfx/attack");
 
-    COLLISION,
-    METALLPIPEFALLING //:)
+    private String path;
+    SFX(String path){
+        this.path = path;
+    }
+
+    public String getPath(){
+        return path;
+    }
 }
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundManager.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundManager.java
index ffe950c84cb365520789318c73b7d66c5d61ae1b..41af98775814a73c36d2b5273f29540449d2bbbb 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundManager.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundManager.java
@@ -1,26 +1,27 @@
 package de.hdm_stuttgart.battlearena.Model.Sound;
 
-import javafx.application.Platform;
+
+import javafx.scene.media.Media;
+import javafx.scene.media.MediaPlayer;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.LogManager;
 
 import javafx.scene.media.AudioClip;
-import javafx.scene.media.Media;
-import javafx.scene.media.MediaPlayer;
-import javafx.util.Duration;
 
-import javax.sound.sampled.*;
-import java.io.File;
+
 import java.io.IOException;
 import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.Random;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -28,103 +29,45 @@ public class SoundManager implements ISoundManager {
     private static final Logger log = LogManager.getLogger(SoundManager.class);
 
 
-    private ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(5);
+    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(5);
+    private final List<SFX> soundEffectsRunning = new ArrayList<>();
+    private MediaPlayer mediaPlayer;
 
-    private ThreadPoolExecutor musicexecutor = (ThreadPoolExecutor) Executors.newFixedThreadPool(5);
-    private volatile boolean stopLoop = false;
+    private final boolean stopLoop = false;
     private List<Path> walkingSFXPaths;
 
+    //Todo Make music play
+    public void playMusic(MusicType musicType) throws IOException {
+        Path pathTypeOfMusic = Paths.get(musicType.getPath());
+        List<Path> musicPaths = getFilePathsFromResources(pathTypeOfMusic);
+        Random random = new Random();
+        int min = 0;
+        int max = musicPaths.size() - 1;
+        int randomIndex = random.nextInt(max - min + 1 ) + min;
+        String randomMusic = musicPaths.get(randomIndex).toString();
+        String normalizedPath = Paths.get(randomMusic).toString().replace('\\', '/');
+        String resource = normalizedPath.substring(18);
+        log.info(resource);
+        Thread thread = new Thread(() -> {
+            Media media = new Media(getClass().getResource(resource).toExternalForm());
+            mediaPlayer = new MediaPlayer(media);
+            mediaPlayer.setCycleCount(MediaPlayer.INDEFINITE);
+            mediaPlayer.play();
+            log.info("Music is playing");
 
-
-    @Override
-    public void playSound(String path, SFX soundEffect, boolean playLoop) {
-        musicexecutor.execute(()->{
-            playMusic(path);
-
-            try {
-                playSoundEffect(soundEffect, playLoop);
-            } catch (InterruptedException | MalformedURLException e) {
-                throw new RuntimeException(e);
-            }
         });
-
-
+        thread.setDaemon(true);
+        thread.start();
     }
 
-    @Override
-    public void playMusic(String musicPath)  {
-        File file = new File("src/main/resources/sound/music/musicPlaceholder.wav" );
-        if(file.exists()){
-            AudioInputStream audioInputStream = null;
-            try {
-                audioInputStream = AudioSystem.getAudioInputStream(file);
-            } catch (UnsupportedAudioFileException | IOException e) {
-                throw new RuntimeException(e);
-            }
-            Clip clip = null;
-            try {
-                clip = AudioSystem.getClip();
-            } catch (LineUnavailableException e) {
-                throw new RuntimeException(e);
-            }
-            try {
-                clip.open(audioInputStream);
-            } catch (LineUnavailableException | IOException e) {
-                throw new RuntimeException(e);
-            }
-            clip.start();
-        }else {
-            System.out.println("File does not exist...");
+    public void stopMusic(){
+        if (mediaPlayer != null) {
+            mediaPlayer.dispose(); // Dispose of the MediaPlayer instance
         }
     }
 
     @Override
-    public void playSoundEffect(SFX effects, boolean playLoop) throws InterruptedException, MalformedURLException {
-        switch (effects){
-            case WALKING:
-                Path path = Paths.get("src/main/resources/sound/sfx/steps");
-                try {
-                    walkingSFXPaths = getFilePathsFromResources(path);
-                } catch (IOException e) {
-                    throw new RuntimeException(e);
-                }
-                if (playLoop) {
-                    stopLoop = false; // Reset flag for new loop
-                    executor.execute(() -> {
-                        while (!stopLoop) { // Continue playing until the flag is set to true
-                            Random random = new Random();
-                            int min = 0;
-                            int max = walkingSFXPaths.size() - 1;
-                            int positiveRandomInRange = random.nextInt(max - min + 1) + min;
-                            Path walkSound = walkingSFXPaths.get(positiveRandomInRange);
-
-                            System.out.println(walkSound);
-                            AudioClip audioClip = null;
-                            try {
-                                audioClip = new AudioClip(walkSound.toUri().toURL().toExternalForm());
-                            } catch (MalformedURLException e) {
-                                throw new RuntimeException(e);
-                            }
-                            audioClip.setVolume(1.0);
-                            audioClip.play();
-
-                            try {
-                                Thread.sleep(650); // Wait before playing the next clip
-                            } catch (InterruptedException e) {
-                                // Handle interruption if needed
-                                break;
-                            }
-                        }
-                    });
-                } else {
-                    stopLoop = true; // Set flag to stop the loop
-                }
-                break;
-
-            case COLLISION:
-
-                break;
-        }
+    public void playSoundEffect() throws InterruptedException, MalformedURLException {
 
     }
 
diff --git a/src/main/resources/sound/sfx/Footsteps, Human, Dirty Ground, Walk SND62078.wav b/src/main/resources/Footsteps, Human, Dirty Ground, Walk SND62078.wav
similarity index 100%
rename from src/main/resources/sound/sfx/Footsteps, Human, Dirty Ground, Walk SND62078.wav
rename to src/main/resources/Footsteps, Human, Dirty Ground, Walk SND62078.wav
diff --git a/src/main/resources/sound/music/musicPlaceholder.mp3 b/src/main/resources/sound/music/game/musicPlaceholder.mp3
similarity index 100%
rename from src/main/resources/sound/music/musicPlaceholder.mp3
rename to src/main/resources/sound/music/game/musicPlaceholder.mp3
diff --git a/src/main/resources/sound/music/musicPlaceholder.wav b/src/main/resources/sound/music/menu/musicPlaceholder.wav
similarity index 100%
rename from src/main/resources/sound/music/musicPlaceholder.wav
rename to src/main/resources/sound/music/menu/musicPlaceholder.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 1.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 1.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 1.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 1.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 10.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 10.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 10.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 10.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 11.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 11.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 11.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 11.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 12.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 12.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 12.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 12.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 13.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 13.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 13.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 13.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 14.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 14.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 14.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 14.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 15.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 15.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 15.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 15.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 16.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 16.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 16.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 16.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 17.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 17.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 17.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 17.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 18.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 18.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 18.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 18.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 19.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 19.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 19.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 19.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 2.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 2.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 2.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 2.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 20.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 20.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 20.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 20.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 3.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 3.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 3.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 3.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 4.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 4.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 4.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 4.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 5.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 5.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 5.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 5.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 6.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 6.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 6.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 6.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 7.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 7.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 7.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 7.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 8.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 8.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 8.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 8.wav
diff --git a/src/main/resources/sound/sfx/steps/steps - Track 9.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 9.wav
similarity index 100%
rename from src/main/resources/sound/sfx/steps/steps - Track 9.wav
rename to src/main/resources/sound/sfx/steps/grass/steps - Track 9.wav