diff --git a/core/assets/options/audio.png b/core/assets/options/audio.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4c2a56c33340c26f98c5c23bc271f9c4c388f1b
Binary files /dev/null and b/core/assets/options/audio.png differ
diff --git a/core/assets/options/control.png b/core/assets/options/control.png
new file mode 100644
index 0000000000000000000000000000000000000000..b653811fbf3d0a30df230578f3a63872f2aee085
Binary files /dev/null and b/core/assets/options/control.png differ
diff --git a/core/assets/options/credits.png b/core/assets/options/credits.png
new file mode 100644
index 0000000000000000000000000000000000000000..d3d6106edb00e323a6de0d918237592687c899d7
Binary files /dev/null and b/core/assets/options/credits.png differ
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Audio/AudioButton.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Audio/AudioButton.java
new file mode 100644
index 0000000000000000000000000000000000000000..842a80daf8b39da39c9b35749d3930eebd405ef5
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Audio/AudioButton.java
@@ -0,0 +1,33 @@
+package com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.Audio;
+
+import com.badlogic.gdx.audio.Sound;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.scenes.scene2d.InputEvent;
+import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionUI;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
+
+public class AudioButton extends ImButton {
+
+    private Sound clickSound;
+
+    private OptionUI optionUI;
+
+    private PauseMenuUI pauseMenuUI;
+
+    public AudioButton(float x, float y, float width, float height, OptionUI optionUI) {
+        super(new Texture("options/escape_audio_on.png"), x, y, width, height);
+        this.optionUI = optionUI;
+        this.addListener(new ClickListener() {
+            public void clicked(InputEvent event, float x, float y) {
+                leftClick();
+            }
+        });
+    }
+
+    @Override
+    public void leftClick() {
+        optionUI.openAudio();
+    }
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Control/ControlButton.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Control/ControlButton.java
new file mode 100644
index 0000000000000000000000000000000000000000..43f0e9d542e0349062c5808cff838443f608b3a3
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Control/ControlButton.java
@@ -0,0 +1,33 @@
+package com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.Control;
+
+import com.badlogic.gdx.audio.Sound;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.scenes.scene2d.InputEvent;
+import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionUI;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
+
+public class ControlButton extends ImButton {
+
+    private Sound clickSound;
+
+    private OptionUI optionUI;
+
+    private PauseMenuUI pauseMenuUI;
+
+    public ControlButton(float x, float y, float width, float height, OptionUI optionUI) {
+        super(new Texture("options/escape_control_on.png"), x, y, width, height);
+        this.optionUI = optionUI;
+        this.addListener(new ClickListener() {
+            public void clicked(InputEvent event, float x, float y) {
+                leftClick();
+            }
+        });
+    }
+
+    @Override
+    public void leftClick() {
+        optionUI.openControl();
+    }
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Credits/CreditsButton.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Credits/CreditsButton.java
new file mode 100644
index 0000000000000000000000000000000000000000..23bb46ae69fea136fe9f903f2f085d3408824ed3
--- /dev/null
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/Credits/CreditsButton.java
@@ -0,0 +1,33 @@
+package com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.Credits;
+
+import com.badlogic.gdx.audio.Sound;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.scenes.scene2d.InputEvent;
+import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionUI;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
+
+public class CreditsButton extends ImButton {
+
+    private Sound clickSound;
+
+    private OptionUI optionUI;
+
+    private PauseMenuUI pauseMenuUI;
+
+    public CreditsButton(float x, float y, float width, float height, OptionUI optionUI) {
+        super(new Texture("options/escape_credits_on.png"), x, y, width, height);
+        this.optionUI = optionUI;
+        this.addListener(new ClickListener() {
+            public void clicked(InputEvent event, float x, float y) {
+                leftClick();
+            }
+        });
+    }
+
+    @Override
+    public void leftClick() {
+        optionUI.openCredits();
+    }
+}
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/General/BackButton.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/General/BackButton.java
index db40c7fbc27b712f3138febe588e4d1d69a82bd5..8a7a4f5e9e472b617dad00a1d10104700c2156ff 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/General/BackButton.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Buttons/InGameButtons/OptionButtons/General/BackButton.java
@@ -5,8 +5,7 @@ import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
 import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.ImButton;
-import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.GeneralUI;
-import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionUI;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.*;
 
 public class BackButton extends ImButton {
 
@@ -14,8 +13,38 @@ public class BackButton extends ImButton {
 
     private OptionUI optionUI;
 
+    private ControlUI controlUI;
+
+    private CreditsUI creditUI;
+
     private GeneralUI generalUI;
 
+    private VideoUI videoUI;
+
+    private AudioUI audioUI;
+
+    public BackButton(float x, float y, float width, float height, OptionUI optionUI, ControlUI controlUI) {
+        super(new Texture("options/escape_back_on.png"), x, y, width, height);
+        this.optionUI = optionUI;
+        this.controlUI = controlUI;
+        this.addListener(new ClickListener() {
+            public void clicked(InputEvent event, float x, float y) {
+                leftClick();
+            }
+        });
+    }
+
+    public BackButton(float x, float y, float width, float height, OptionUI optionUI, CreditsUI creditsUI) {
+        super(new Texture("options/escape_back_on.png"), x, y, width, height);
+        this.optionUI = optionUI;
+        this.creditUI = creditsUI;
+        this.addListener(new ClickListener() {
+            public void clicked(InputEvent event, float x, float y) {
+                leftClick();
+            }
+        });
+    }
+
     public BackButton(float x, float y, float width, float height, OptionUI optionUI, GeneralUI generalUI) {
         super(new Texture("options/escape_back_on.png"), x, y, width, height);
         this.optionUI = optionUI;
@@ -27,9 +56,36 @@ public class BackButton extends ImButton {
         });
     }
 
+    public BackButton(float x, float y, float width, float height, OptionUI optionUI, VideoUI videoUI) {
+        super(new Texture("options/escape_back_on.png"), x, y, width, height);
+        this.optionUI = optionUI;
+        this.videoUI = videoUI;
+        this.addListener(new ClickListener() {
+            public void clicked(InputEvent event, float x, float y) {
+                leftClick();
+            }
+        });
+    }
+
+    public BackButton(float x, float y, float width, float height, OptionUI optionUI, AudioUI audioUI) {
+        super(new Texture("options/escape_back_on.png"), x, y, width, height);
+        this.optionUI = optionUI;
+        this.audioUI = audioUI;
+        this.addListener(new ClickListener() {
+            public void clicked(InputEvent event, float x, float y) {
+                leftClick();
+            }
+        });
+    }
+
     @Override
     public void leftClick() {
-        generalUI.disposeGeneralUI();
+
+        if(controlUI != null){controlUI.disposeControlUI();}
+        else if(creditUI != null){creditUI.disposeCreditUI();}
+        else if(generalUI != null){generalUI.disposeGeneralUI();}
+        else if(videoUI != null){videoUI.disposeVideoUI();}
+        else if(audioUI != null){audioUI.disposeAudioUI();}
         optionUI.showOptionsUI();
     }
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GamePlay.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GamePlay.java
index c63cee1bc48a8d64bf0599d208df5d5eff4365dd..ac0973bd009cd7c28d7eeeee87965e71a168eb6f 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GamePlay.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/Screen/GamePlay.java
@@ -24,10 +24,7 @@ import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
 import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.EventGUI;
 import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.GameOver;
 import com.galaxytrucker.galaxytruckerreloaded.View.UI.Events.ShopUI;
-import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.GeneralUI;
-import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.OptionUI;
-import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.PauseMenuUI;
-import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.VideoUI;
+import com.galaxytrucker.galaxytruckerreloaded.View.UI.Options.*;
 import com.galaxytrucker.galaxytruckerreloaded.View.UI.Ship.EnemyShip;
 import com.galaxytrucker.galaxytruckerreloaded.View.UI.Ship.ShipView;
 
@@ -100,6 +97,12 @@ public class GamePlay implements Screen {
      */
     private VideoUI videoUI;
 
+    private AudioUI audioUI;
+
+    private CreditsUI creditsUI;
+
+    private ControlUI controlUI;
+
     /**
      * Gets the current open OptionUI
      * @return current OptionUI
@@ -364,8 +367,27 @@ public class GamePlay implements Screen {
         videoUI = null;
     }
 
+    public void createAudioUI(){
+        audioUI = new AudioUI(main, pauseStage, this);
+    }
 
+    public void deleteAudioUI(){
+        audioUI = null;
+    }
 
+    public void createCreditUI(){
+        creditsUI = new CreditsUI(main, pauseStage, this);
+    }
+
+    public void deleteCreditUI(){
+        creditsUI = null;
+    }
+
+    public void createControlUI(){controlUI = new ControlUI(main, pauseStage, this);
+    }
+    public void deleteConterolUI(){
+        controlUI = null;
+    }
     public void createShip() {
 
     }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/AudioUI.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/AudioUI.java
index 7ea8d704c8d94b9bcf48114a316a2daa6d5bc39a..decfa2546b03dfe48e210cf9b69efb4d77d69675 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/AudioUI.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/AudioUI.java
@@ -1,4 +1,87 @@
 package com.galaxytrucker.galaxytruckerreloaded.View.UI.Options;
 
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.Input;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.scenes.scene2d.Stage;
+import com.galaxytrucker.galaxytruckerreloaded.Main;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.General.BackButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GamePlay;
+
 public class AudioUI {
-}
+
+    private Texture audioBackgroundTexture;
+    private Main main;
+    private GamePlay gamePlay;
+    private OptionUI optionUI;
+    private float x, y;
+    private BackButton backButton;
+    private Stage stage;
+
+    /**
+     * Constructor
+     * @param main
+     * @param stage
+     * @param gamePlay
+     */
+    public AudioUI(Main main, Stage stage, GamePlay gamePlay) {
+        this.main = main;
+        this.gamePlay = gamePlay;
+        this.stage = stage;
+        this.optionUI = gamePlay.getOptionUI();
+        audioBackgroundTexture = new Texture("options/audio.png");
+
+        x = main.WIDTH / 2 - audioBackgroundTexture.getWidth() / 2;
+        y = main.HEIGHT / 2 - audioBackgroundTexture.getHeight() / 2;
+
+        backButton = new BackButton(x + 220, y + 100, 128, 24, optionUI, this);
+
+        stage.addActor(backButton);
+    }
+
+    /**
+     * render
+     * no stage stuff
+     */
+    public void render() {
+        updateInput();
+        main.batch.begin();
+        main.batch.draw(audioBackgroundTexture, x, y, 601, 471);
+        main.batch.end();
+
+        stage.draw();
+    }
+
+    /**
+     * Dispose of options ui
+     */
+    public void disposeAudioUI() {
+        audioBackgroundTexture.dispose();
+        backButton.remove();
+        gamePlay.deleteAudioUI();
+    }
+
+    /**
+     * Open the options menu
+     */
+    public void showGeneralUI() {
+        backButton.setVisible(true);
+    }
+    /**
+     * Close the options menu
+     */
+    public void hideGeneralUI() {
+        backButton.setVisible(false);
+    }
+
+    /**
+     * handles input to pause game, open options
+     */
+    public void updateInput() {
+        if(Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
+            disposeAudioUI();;
+            optionUI.showOptionsUI();
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/ControlUI.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/ControlUI.java
index 0fdd9d808d049eeb09ba9f6d1397436af67009f2..78ab144e0f6ea1398b7972088e94cf03785fb77c 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/ControlUI.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/ControlUI.java
@@ -1,4 +1,88 @@
 package com.galaxytrucker.galaxytruckerreloaded.View.UI.Options;
 
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.Input;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.scenes.scene2d.Stage;
+import com.galaxytrucker.galaxytruckerreloaded.Main;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.General.BackButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GamePlay;
+
 public class ControlUI {
+
+    private Texture controleBackgroundTextuere;
+    private Main main;
+    private GamePlay gamePlay;
+    private OptionUI optionUI;
+    private float x, y;
+    private BackButton backButton;
+    private Stage stage;
+
+    /**
+     * Constructor
+     * @param main
+     * @param stage
+     * @param gamePlay
+     */
+    public ControlUI(Main main, Stage stage, GamePlay gamePlay) {
+        this.main = main;
+        this.gamePlay = gamePlay;
+        this.stage = stage;
+        this.optionUI = gamePlay.getOptionUI();
+        controleBackgroundTextuere = new Texture("options/control.png");
+
+        x = main.WIDTH / 2 - controleBackgroundTextuere.getWidth() / 2;
+        y = main.HEIGHT / 2 - controleBackgroundTextuere.getHeight() / 2;
+
+        backButton = new BackButton(x + 220, y + 100, 128, 24, optionUI, this);
+
+        stage.addActor(backButton);
+    }
+
+    /**
+     * render
+     * no stage stuff
+     */
+    public void render() {
+        updateInput();
+        main.batch.begin();
+        main.batch.draw(controleBackgroundTextuere, x, y, 601, 471);
+        main.batch.end();
+
+        stage.draw();
+    }
+
+    /**
+     * Dispose of options ui
+     */
+    public void disposeControlUI() {
+        controleBackgroundTextuere.dispose();
+        backButton.remove();
+        gamePlay.deleteConterolUI();
+    }
+
+    /**
+     * Open the options menu
+     */
+    public void showGeneralUI() {
+        backButton.setVisible(true);
+    }
+    /**
+     * Close the options menu
+     */
+    public void hideGeneralUI() {
+        backButton.setVisible(false);
+    }
+
+    /**
+     * handles input to pause game, open options
+     */
+    public void updateInput() {
+        if(Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
+            disposeControlUI();
+            optionUI.showOptionsUI();
+        }
+    }
+
+
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/CreditsUI.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/CreditsUI.java
index c89fdd5cc3d36fae054015694581806e9b7a7464..f99f7070ad2a8ba2b82033f737563807b63aecc9 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/CreditsUI.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/CreditsUI.java
@@ -1,4 +1,87 @@
 package com.galaxytrucker.galaxytruckerreloaded.View.UI.Options;
 
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.Input;
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.scenes.scene2d.Stage;
+import com.galaxytrucker.galaxytruckerreloaded.Main;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.General.BackButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.Screen.GamePlay;
+
 public class CreditsUI {
+    private Texture CreditBackgroundTexture;
+    private Main main;
+    private GamePlay gamePlay;
+    private OptionUI optionUI;
+    private float x, y;
+    private BackButton backButton;
+    private Stage stage;
+
+    /**
+     * Constructor
+     * @param main
+     * @param stage
+     * @param gamePlay
+     */
+    public CreditsUI(Main main, Stage stage, GamePlay gamePlay) {
+        this.main = main;
+        this.gamePlay = gamePlay;
+        this.stage = stage;
+        this.optionUI = gamePlay.getOptionUI();
+        CreditBackgroundTexture = new Texture("options/credits.png");
+
+        x = main.WIDTH / 2 - CreditBackgroundTexture.getWidth() / 2;
+        y = main.HEIGHT / 2 - CreditBackgroundTexture.getHeight() / 2;
+
+        backButton = new BackButton(x + 220, y + 100, 128, 24, optionUI, this);
+
+        stage.addActor(backButton);
+    }
+
+    /**
+     * render
+     * no stage stuff
+     */
+    public void render() {
+        updateInput();
+        main.batch.begin();
+        main.batch.draw(CreditBackgroundTexture, x, y, 601, 471);
+        main.batch.end();
+
+        stage.draw();
+    }
+
+    /**
+     * Dispose of options ui
+     */
+    public void disposeCreditUI() {
+        CreditBackgroundTexture.dispose();
+        backButton.remove();
+        gamePlay.deleteCreditUI();
+    }
+
+    /**
+     * Open the options menu
+     */
+    public void showCreditUI() {
+        backButton.setVisible(true);
+    }
+    /**
+     * Close the options menu
+     */
+    public void hideCreditUI() {
+        backButton.setVisible(false);
+    }
+
+    /**
+     * handles input to pause game, open options
+     */
+    public void updateInput() {
+        if(Gdx.input.isKeyJustPressed(Input.Keys.ESCAPE)) {
+            disposeCreditUI();;
+            optionUI.showOptionsUI();
+        }
+    }
+
+
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/OptionUI.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/OptionUI.java
index 44a6070959dabca867f71b10a9fb5127f776baf5..2385c26eca76ff82e9ae1c5adffd2b422a4c5c97 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/OptionUI.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/View/UI/Options/OptionUI.java
@@ -5,6 +5,9 @@ import com.badlogic.gdx.Input;
 import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.scenes.scene2d.Stage;
 import com.galaxytrucker.galaxytruckerreloaded.Main;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.Audio.AudioButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.Control.ControlButton;
+import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.Credits.CreditsButton;
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.General.GeneralButton;
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.OptionenBackButton;
 import com.galaxytrucker.galaxytruckerreloaded.View.Buttons.InGameButtons.OptionButtons.Video.VideoButton;
@@ -26,6 +29,12 @@ public class OptionUI {
 
     private GeneralButton generalButton;
 
+    private ControlButton controlButton;
+
+    private CreditsButton creditsButton;
+
+    private AudioButton audioButton;
+
     private Main main;
 
     private GamePlay game;
@@ -51,13 +60,19 @@ public class OptionUI {
         x = main.WIDTH/2 - optionsBackgroundTexture.getWidth()/2;
         y = main.HEIGHT/2 - optionsBackgroundTexture.getHeight()/2;
 
-        optionenBackButton = new OptionenBackButton(x+220, y+100, 128, 24, this, pauseMenuUI);
-        videoButton = new VideoButton(x+220, y+220, 128, 24, this);
-        generalButton = new GeneralButton(x+220, y+320, 128, 24, this);
+        optionenBackButton = new OptionenBackButton(x+220, y+(y/6), 128, 24, this, pauseMenuUI);
+        videoButton = new VideoButton(x+220, y+(2*y/6), 128, 24, this);
+        generalButton = new GeneralButton(x+220, y+(3*y/6), 128, 24, this);
+        controlButton = new ControlButton(x+ 220, y+ (4*y/6), 128, 24, this );
+        creditsButton = new CreditsButton(x + 220, y + (5*y/6), 128, 24, this);
+        audioButton = new AudioButton(x +220, y+(6*y/6), 128, 24, this);
 
         stage.addActor(optionenBackButton);
         stage.addActor(generalButton);
         stage.addActor(videoButton);
+        stage.addActor(controlButton);
+        stage.addActor(creditsButton);
+        stage.addActor(audioButton);
     }
 
     /**
@@ -81,6 +96,9 @@ public class OptionUI {
         optionenBackButton.remove();
         generalButton.remove();
         videoButton.remove();
+        audioButton.remove();
+        controlButton.remove();
+        creditsButton.remove();
         game.deleteOptions();
     }
 
@@ -97,6 +115,10 @@ public class OptionUI {
         generalButton.setVisible(true);
         optionenBackButton.setVisible(true);
         videoButton.setVisible(true);
+        audioButton.setVisible(true);
+        creditsButton.setVisible(true);
+        controlButton.setVisible(true);
+
     }
 
     /**
@@ -106,6 +128,9 @@ public class OptionUI {
         generalButton.setVisible(false);
         optionenBackButton.setVisible(false);
         videoButton.setVisible(false);
+        audioButton.setVisible(false);
+        creditsButton.setVisible(false);
+        controlButton.setVisible(false);
     }
 
     /**
@@ -127,4 +152,19 @@ public class OptionUI {
         this.hideOptionsUI();
         game.createVideoUI();
     }
+
+    public void openCredits(){
+        this.hideOptionsUI();
+        game.createCreditUI();
+    }
+
+    public void openAudio(){
+        this.hideOptionsUI();
+        game.createAudioUI();
+    }
+
+    public void openControl(){
+        this.hideOptionsUI();
+        game.createControlUI();
+    }
 }