diff --git a/bin/de/bricked/main/_de.properties b/bin/de/bricked/main/_de.properties
index e5b3c10ba1332a765b00d8282794f89c96480575..04c1a6f554ef53152e99c90f534e18fec6de5c4d 100644
--- a/bin/de/bricked/main/_de.properties
+++ b/bin/de/bricked/main/_de.properties
@@ -3,4 +3,5 @@ version.code=0
 version.name=0.0.0
 version.date=19.10.16
 author=Max Wittig, Robert Goldmann (Vielen Dank an Tobias) 
+
 shortcut.debug.console=F12
\ No newline at end of file
diff --git a/bin/de/bricked/ui/LevelGUI.fxml b/bin/de/bricked/ui/LevelGUI.fxml
index dabc3a8a3ca5e10c4660fe58c2d4cdb16f18abda..b1e6a1a58e86daeca19d14dedc8087fb95ee9c5e 100644
--- a/bin/de/bricked/ui/LevelGUI.fxml
+++ b/bin/de/bricked/ui/LevelGUI.fxml
@@ -8,9 +8,9 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPane" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.bricked.ui.LevelController">
+<AnchorPane fx:id="anchorPane" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.bricked.ui.LevelController">
    <children>
-      <AnchorPane fx:id="anchorPaneGame" layoutX="22.0" layoutY="125.0" minHeight="650.0" minWidth="700.0" prefHeight="650.0" prefWidth="700.0" AnchorPane.bottomAnchor="25.0" AnchorPane.leftAnchor="22.0" AnchorPane.rightAnchor="78.0" AnchorPane.topAnchor="125.0">
+      <AnchorPane fx:id="anchorPaneGame" layoutX="14.0" layoutY="125.0" minHeight="650.0" minWidth="670.0" prefHeight="650.0" prefWidth="670.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="116.0" AnchorPane.topAnchor="125.0">
          <children>
             <Label fx:id="labelMultiplicator" alignment="CENTER" contentDisplay="CENTER" layoutX="301.0" layoutY="502.0" prefHeight="45.0" prefWidth="100.0" textAlignment="CENTER">
                <font>
@@ -18,7 +18,7 @@
                </font>
             </Label>
          </children></AnchorPane>
-      <VBox fx:id="vboxPowerUps" layoutX="745.0" layoutY="125.0" minHeight="338.0" minWidth="40.0" prefHeight="402.0" prefWidth="40.0" AnchorPane.bottomAnchor="273.0" AnchorPane.rightAnchor="15.0" AnchorPane.topAnchor="125.0" />
+      <VBox fx:id="vboxPowerUps" layoutX="745.0" layoutY="125.0" maxHeight="490.0" minHeight="338.0" minWidth="40.0" prefHeight="490.0" prefWidth="90.0" AnchorPane.bottomAnchor="185.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="125.0" />
       <HBox alignment="CENTER" layoutX="34.0" layoutY="23.0" prefHeight="100.0" prefWidth="275.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0">
          <children>
             <Button fx:id="buttonBack" mnemonicParsing="false" onAction="#back" text="Back" />
@@ -64,7 +64,7 @@
             </Label>
          </children>
       </HBox>
-      <VBox fx:id="vboxLives" layoutX="745.0" layoutY="603.0" minHeight="71.0" minWidth="40.0" prefHeight="227.0" prefWidth="40.0" AnchorPane.bottomAnchor="24.0" AnchorPane.rightAnchor="15.0" />
+      <VBox fx:id="vboxLives" layoutX="745.0" layoutY="603.0" minHeight="71.0" minWidth="40.0" prefHeight="160.0" prefWidth="90.0" AnchorPane.bottomAnchor="14.0" AnchorPane.rightAnchor="14.0" />
       <Label fx:id="labelFPS" layoutX="770.0" layoutY="6.0" text="0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="8.0">
          <font>
             <Font name="System Bold" size="16.0" />
diff --git a/bin/de/brickedleveleditor/main/_de.properties b/bin/de/brickedleveleditor/main/_de.properties
new file mode 100644
index 0000000000000000000000000000000000000000..5882f88395a5a5ffed32a3892767ab419021dc0b
--- /dev/null
+++ b/bin/de/brickedleveleditor/main/_de.properties
@@ -0,0 +1,5 @@
+app.name=Bricked LevelEditor
+version.code=0
+version.name=0.0.0
+version.date=19.10.16
+author=Max Wittig, Robert Goldmann
\ No newline at end of file
diff --git a/bin/de/brickedleveleditor/ui/GUI.fxml b/bin/de/brickedleveleditor/ui/GUI.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..23f129a13b8fad3dbf6a562d6aee370145a4e33a
--- /dev/null
+++ b/bin/de/brickedleveleditor/ui/GUI.fxml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Menu?>
+<?import javafx.scene.control.MenuBar?>
+<?import javafx.scene.control.MenuItem?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.RowConstraints?>
+<?import javafx.scene.layout.VBox?>
+
+<AnchorPane fx:id="anchorPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.brickedleveleditor.ui.Controller">
+   <children>
+      <MenuBar layoutX="40.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
+        <menus>
+            <Menu mnemonicParsing="false" text="File">
+              <items>
+                <MenuItem fx:id="saveMenuItem" mnemonicParsing="false" text="Save" />
+                  <MenuItem mnemonicParsing="false" text="Unspecified Action" />
+              </items>
+            </Menu>
+          <Menu mnemonicParsing="false" text="Hilfe">
+            <items>
+              <MenuItem mnemonicParsing="false" onAction="#about" text="Über" />
+            </items>
+          </Menu>
+        </menus>
+      </MenuBar>
+      <VBox fx:id="sidebarVBox" alignment="CENTER" layoutX="614.0" layoutY="29.0" prefHeight="572.0" prefWidth="186.0" AnchorPane.bottomAnchor="-1.0" AnchorPane.topAnchor="29.0" />
+      <GridPane fx:id="gridPane" alignment="CENTER" gridLinesVisible="true" layoutX="14.0" layoutY="58.0" prefHeight="526.0" prefWidth="595.0" AnchorPane.bottomAnchor="16.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="191.0" AnchorPane.topAnchor="58.0">
+        <columnConstraints>
+          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.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>
+      </GridPane>
+   </children>
+</AnchorPane>
diff --git a/src/de/bricked/game/Game.java b/src/de/bricked/game/Game.java
index c565ff78b75206a21fdf9fe3ba93044e6e375428..48846459eacd718c9cc24bc3c2068dd4f8d71ec2 100644
--- a/src/de/bricked/game/Game.java
+++ b/src/de/bricked/game/Game.java
@@ -15,6 +15,7 @@ import logger.Logger;
 
 public class Game
 {
+	private final int MAX_LIVES = 7;
 	private Settings settings;
 	private LevelPack levelPack;
 	private Level level;
@@ -28,8 +29,7 @@ public class Game
 	private int pointsSinceLastMultiplicatorReset;
 	private int multiplicator;
 	private LevelController levelController;
-	private ArrayList<PowerUp> movingPowerUps;
-	private ArrayList<PowerUp> activatedPowerUps;
+	private ArrayList<PowerUp> movingPowerUps;	
 
 	public Game()
 	{
@@ -43,10 +43,13 @@ public class Game
 		this.multiplicator = 0;
 		this.pointsSinceLastMultiplicatorReset = 0;
 		this.levelController = null;
-		this.movingPowerUps = new ArrayList<>();
-		this.activatedPowerUps = new ArrayList<>();
-	}
+		this.movingPowerUps = new ArrayList<>();	
+	}		
 
+	public int getMaxLives()
+	{
+		return MAX_LIVES;
+	}
 	public Settings getSettings()
 	{
 		return settings;
@@ -176,16 +179,6 @@ public class Game
 		this.movingPowerUps = movingPowerUps;
 	}
 
-	public ArrayList<PowerUp> getActivatedPowerUps()
-	{
-		return activatedPowerUps;
-	}
-
-	public void setActivatedPowerUps(ArrayList<PowerUp> activatedPowerUps)
-	{
-		this.activatedPowerUps = activatedPowerUps;
-	}
-
 	public Point2D reflectBall(HitLocation hitLocation, Point2D direction)
 	{
 		switch(hitLocation)
diff --git a/src/de/bricked/game/powerups/ExtraLifePowerUp.java b/src/de/bricked/game/powerups/ExtraLifePowerUp.java
index 38e76ab303890f42ec1ba3af435eb5d6c748a8c6..8bd1fbec2efdb618be81f53bb19b5c04ca477f4f 100644
--- a/src/de/bricked/game/powerups/ExtraLifePowerUp.java
+++ b/src/de/bricked/game/powerups/ExtraLifePowerUp.java
@@ -7,13 +7,13 @@ public class ExtraLifePowerUp extends PowerUp
 {
     public ExtraLifePowerUp()
     {
-        super(PowerUpType.EXTRA_LIFE.getId(), PowerUpType.EXTRA_LIFE.getDurationInSeconds());
+        super(PowerUpType.EXTRA_LIFE.getID(), PowerUpType.EXTRA_LIFE.getDurationInSeconds());
     }
 
 	@Override
 	public void activate(LevelController levelController, Game game)
 	{		
-		if(game.getLivesRemaining() - 1 < levelController.MAX_LIVES)
+		if(game.getLivesRemaining() - 1 < game.getMaxLives())
 		{
 			game.setLivesRemaining(game.getLivesRemaining() + 1);			
 			levelController.refreshLiveCounter();
diff --git a/src/de/bricked/game/powerups/PowerUpType.java b/src/de/bricked/game/powerups/PowerUpType.java
index 1dbe7c97db39faf38e0ca802307b67164d2df90a..e360e30acd7be843dca36e0b60e160ba7387193c 100644
--- a/src/de/bricked/game/powerups/PowerUpType.java
+++ b/src/de/bricked/game/powerups/PowerUpType.java
@@ -1,39 +1,51 @@
 package de.bricked.game.powerups;
 
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 import de.bricked.game.powerups.ball.ExplodeBallPowerUp;
 import de.bricked.game.powerups.ball.NoCollisionBallPowerUp;
 
+
 public enum PowerUpType
 {
-    NONE(0, -1),
-    EXTRA_LIFE(1, -1),
-    FASTER_BALL(2, 10),
-    SLOWER_BALL(3, 10),
-    EXPLODE_BALL(4, 10),
-    NO_COLLISION_BALL(5, 10);
-
-    private int id;
+    NONE(0, -1, null),
+    EXTRA_LIFE(1, -1, null),
+    FASTER_BALL(2, 10, Arrays.asList(3)),
+    SLOWER_BALL(3, 10, Arrays.asList(2, 4, 5)),
+    EXPLODE_BALL(4, 10, Arrays.asList(2, 3, 5)),
+    NO_COLLISION_BALL(5, 10, Arrays.asList(2, 3, 4));
+
+    private int ID;
     private int durationInSeconds;
+    private List<Integer> deactivatesPowerUpIDs;
     public static PowerUpType[] types = PowerUpType.values();
 
-    PowerUpType(int id, int durationInSeconds)
+    PowerUpType(int ID, int durationInSeconds, List<Integer> deactivatesPowerUpdIDs)
     {
-        this.id = id;
+        this.ID = ID;
         this.durationInSeconds = durationInSeconds;
+        this.deactivatesPowerUpIDs = deactivatesPowerUpdIDs;
     }
 
-    public int getId()
+    public int getID()
     {
-        return id;
+        return ID;
     }
 
     public int getDurationInSeconds()
     {
         return durationInSeconds;
-    }
+    }    
+
+    public ArrayList<Integer> getDeactivatesPowerUpIDs()
+	{
+		return new ArrayList<>(deactivatesPowerUpIDs);
+	}
 
-    public static PowerUp getInstance(PowerUpType powerUpType)
+	public static PowerUp getInstance(PowerUpType powerUpType)
     {
         switch (powerUpType)
         {
@@ -45,4 +57,16 @@ public enum PowerUpType
             default: return null;
         }
     }
+	
+	public static PowerUpType valueOf(int ID)
+	{
+		for(PowerUpType currentType : PowerUpType.values())
+		{
+			if(ID == currentType.getID())
+			{
+				return currentType;
+			}
+		}
+		return PowerUpType.NONE;
+	}
 }
\ No newline at end of file
diff --git a/src/de/bricked/game/powerups/ball/ExplodeBallPowerUp.java b/src/de/bricked/game/powerups/ball/ExplodeBallPowerUp.java
index e4a7a8a911d2411a89f80639721529b14b4e5b96..bb3ca927a7bfdc681e21a94b0758e986bed02f11 100644
--- a/src/de/bricked/game/powerups/ball/ExplodeBallPowerUp.java
+++ b/src/de/bricked/game/powerups/ball/ExplodeBallPowerUp.java
@@ -11,7 +11,7 @@ public class ExplodeBallPowerUp extends PowerUp
 {
     public ExplodeBallPowerUp()
     {
-    	  super(PowerUpType.EXPLODE_BALL.getId(), PowerUpType.EXPLODE_BALL.getDurationInSeconds());
+    	  super(PowerUpType.EXPLODE_BALL.getID(), PowerUpType.EXPLODE_BALL.getDurationInSeconds());
     }
 
     @Override
diff --git a/src/de/bricked/game/powerups/ball/NoCollisionBallPowerUp.java b/src/de/bricked/game/powerups/ball/NoCollisionBallPowerUp.java
index 214dffadc5c2390cc63e32c62a322035fdbea292..c9c4f0e54161c377b4e3e2c7882a4ff9432d03f0 100644
--- a/src/de/bricked/game/powerups/ball/NoCollisionBallPowerUp.java
+++ b/src/de/bricked/game/powerups/ball/NoCollisionBallPowerUp.java
@@ -11,7 +11,7 @@ public class NoCollisionBallPowerUp extends PowerUp
 {
     public NoCollisionBallPowerUp()
     {
-    	  super(PowerUpType.NO_COLLISION_BALL.getId(), PowerUpType.NO_COLLISION_BALL.getDurationInSeconds());
+    	  super(PowerUpType.NO_COLLISION_BALL.getID(), PowerUpType.NO_COLLISION_BALL.getDurationInSeconds());
     }
 
     @Override
diff --git a/src/de/bricked/main/_de.properties b/src/de/bricked/main/_de.properties
index e5b3c10ba1332a765b00d8282794f89c96480575..04c1a6f554ef53152e99c90f534e18fec6de5c4d 100644
--- a/src/de/bricked/main/_de.properties
+++ b/src/de/bricked/main/_de.properties
@@ -3,4 +3,5 @@ version.code=0
 version.name=0.0.0
 version.date=19.10.16
 author=Max Wittig, Robert Goldmann (Vielen Dank an Tobias) 
+
 shortcut.debug.console=F12
\ No newline at end of file
diff --git a/src/de/bricked/ui/LevelController.java b/src/de/bricked/ui/LevelController.java
index df51672c5bacf0abb8f8158bb65968a690dad1ea..44467afa71fa93870b0897454f6fd0cbb400ef99 100644
--- a/src/de/bricked/ui/LevelController.java
+++ b/src/de/bricked/ui/LevelController.java
@@ -18,6 +18,7 @@ import de.bricked.game.bricks.BrickType;
 import de.bricked.game.paddle.Paddle;
 import de.bricked.game.paddle.PaddleSize;
 import de.bricked.game.powerups.PowerUp;
+import de.bricked.game.powerups.PowerUpType;
 import de.bricked.utils.CountdownTimer;
 import fontAwesome.FontIcon;
 import fontAwesome.FontIconType;
@@ -49,6 +50,8 @@ import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.AnchorPane;
 import javafx.scene.layout.ColumnConstraints;
 import javafx.scene.layout.GridPane;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.Priority;
 import javafx.scene.layout.RowConstraints;
 import javafx.scene.layout.StackPane;
 import javafx.scene.layout.VBox;
@@ -86,8 +89,7 @@ public class LevelController
 	private static GridPane grid;
 	private AnimationTimer timer;
 	private double gamePaneWidth;
-	private double gamePaneHeight;
-	public final int MAX_LIVES = 7;
+	private double gamePaneHeight;	
 	private final int TARGET_FPS = 60;
 	private final long OPTIMAL_TIME = 1000000000 / TARGET_FPS;
 	private final static double BRICK_FADE_DURATION = 300.0;
@@ -101,7 +103,7 @@ public class LevelController
 	private double oldMousePosition;
 	private static ArrayList<Label> brickLabels;
 	private ArrayList<Label> movingPowerUps;
-	private ArrayList<Label> timedPowerUps;
+	private ArrayList<CountdownTimer> timedPowerUps;
 	private long previousTime = 0;
 	private float secondsElapsedSinceLastFpsUpdate = 0f;
 
@@ -378,6 +380,10 @@ public class LevelController
 
 	private void initTimer()
 	{
+		previousTime = 0;
+		secondsElapsedSinceLastFpsUpdate = 0f;
+		fps = 0;
+		
 		timer = new AnimationTimer()
 		{			
 			@Override
@@ -554,7 +560,13 @@ public class LevelController
 		labelPause.setTranslateX(((gamePaneWidth - t.getLayoutBounds().getWidth() + 10) / 2) + 22);
 		labelPause.setTranslateY(((gamePaneHeight - t.getLayoutBounds().getHeight()) / 2) + 125); 		
 		
-		anchorPane.getChildren().add(labelPause);		
+		anchorPane.getChildren().add(labelPause);
+		
+		//pause all timedPowerUps
+		for(CountdownTimer currentTimer : timedPowerUps)
+		{
+			currentTimer.stop();
+		}
 	}
 	
 	private void restart()
@@ -564,6 +576,13 @@ public class LevelController
 		fps = 0;
 		anchorPaneGame.setOpacity(1.0);
 		anchorPane.getChildren().remove(anchorPane.getChildren().size() - 1);
+		
+		//restart all timedPowerUps
+		for(CountdownTimer currentTimer : timedPowerUps)
+		{
+			currentTimer.start();
+		}
+				
 		timer.start();			
 	}
 
@@ -652,9 +671,9 @@ public class LevelController
 
 		for(int i = 0; i < game.getLivesRemaining() - 1; i++)
 		{
-			ImageView iv = new ImageView(new Image("de/bricked/resources/textures/paddle/paddle-extra-small.png"));
-			iv.setFitWidth(30);
-			iv.setFitHeight(120 / MAX_LIVES);
+			ImageView iv = new ImageView(new Image("de/bricked/resources/textures/paddle/paddle-small.png"));
+			iv.setFitWidth(70);
+			iv.setFitHeight(120 / game.getMaxLives());
 			vboxLives.getChildren().add(iv);
 		}
 	}
@@ -902,22 +921,45 @@ public class LevelController
 
 	private void addTimedPowerUp(PowerUp powerUp)
 	{
-		Label labelPowerUp = new Label(String.valueOf(powerUp.getDurationInSeconds()));
-		labelPowerUp.setStyle("-fx-background-image: url(\"de/bricked/resources/textures/powerups/" + powerUp.getID() + ".png\");" + "-fx-background-position: center center;" + "-fx-background-repeat: no-repeat;" + "-fx-background-size: contain;" + "-fx-font-size: 16;" + "-fx-font-weight: bold;"
-				+ "-fx-text-fill: #000000;");
-		labelPowerUp.setAlignment(Pos.CENTER);
-		labelPowerUp.setUserData(powerUp);
-
-		labelPowerUp.setPrefWidth(35);
-		labelPowerUp.setPrefHeight(20);
-
-		vboxPowerUps.getChildren().add(labelPowerUp);
-
-		timedPowerUps.add(labelPowerUp);
-
-		new CountdownTimer(powerUp.getDurationInSeconds(), labelPowerUp, this);
-	}
-
+		boolean alreadyActivated = false;
+		
+		for(CountdownTimer currentTimer : timedPowerUps)
+		{
+			PowerUp currentPowerUp = (PowerUp)currentTimer.getHBox().getUserData();
+			if(currentPowerUp.getID() == powerUp.getID())
+			{				
+				alreadyActivated = true;
+				currentTimer.addSecondsToTimer(powerUp.getDurationInSeconds());
+				break;
+			}
+		}	
+		
+		if(!alreadyActivated)
+		{
+			deactivateAllContraryPowerUps(powerUp);
+			
+			HBox hbox = new HBox();			
+			Label labelIcon = new Label();
+			labelIcon.setStyle("-fx-background-image: url(\"de/bricked/resources/textures/powerups/" + powerUp.getID() + ".png\");" + "-fx-background-position: center center;" + "-fx-background-repeat: no-repeat;" + "-fx-background-size: contain;");				
+			labelIcon.setPrefWidth(35);
+			labelIcon.setPrefHeight(20);
+			
+			Label labelSeconds = new Label(String.valueOf(powerUp.getDurationInSeconds()));
+			labelSeconds.setStyle("-fx-font-size: 16;" + "-fx-font-weight: bold;");
+			
+			hbox.getChildren().add(labelIcon);
+			hbox.getChildren().add(labelSeconds);
+			HBox.setHgrow(labelSeconds, Priority.ALWAYS);
+			HBox.setMargin(labelSeconds, new Insets(0, 0, 0, 7));
+			hbox.setAlignment(Pos.CENTER_LEFT);
+						
+			hbox.setUserData(powerUp);	
+			vboxPowerUps.getChildren().add(hbox);
+	
+			timedPowerUps.add(new CountdownTimer(powerUp.getDurationInSeconds(), hbox, this));
+		}	
+	}	
+	
 	private void resetPowerUps()
 	{
 		clearMovingPowerUps();
@@ -925,27 +967,34 @@ public class LevelController
 		timedPowerUps = new ArrayList<>();
 		vboxPowerUps.getChildren().clear();
 	}
-
-	public void deactivatePowerUp(Label label)
+	
+	public void deactivateAllContraryPowerUps(PowerUp powerUp)
 	{
-		int counter = 0;
-		PowerUp powerUp = (PowerUp)label.getUserData();
-		for(Label currentLabel : timedPowerUps)
+		ArrayList<Integer> deactiveIDs = PowerUpType.valueOf(powerUp.getID()).getDeactivatesPowerUpIDs();
+		if(deactiveIDs != null)
 		{
-			PowerUp currentPowerUp = (PowerUp)currentLabel.getUserData();
-			if(currentPowerUp.getID() == powerUp.getID())
+			for(int currentInt : deactiveIDs)
 			{
-				counter++;
-			}
+				for(CountdownTimer currentTimer : timedPowerUps)
+				{
+					PowerUp currentPowerUp = (PowerUp)currentTimer.getHBox().getUserData();
+					if(currentPowerUp.getID() == currentInt)
+					{
+						currentTimer.stop();
+						deactivatePowerUp(currentTimer, currentTimer.getHBox());
+						break;
+					}
+				}
+			}			
 		}
+	}
 
-		// if no other power ups of same kind are active
-		if(counter <= 1)
-		{
-			vboxPowerUps.getChildren().remove(label);
-			timedPowerUps.remove(label);
-			powerUp.deactivate(this, game);
-		}
+	public void deactivatePowerUp(CountdownTimer timer, HBox hbox)
+	{		
+		PowerUp powerUp = (PowerUp)hbox.getUserData();		
+		vboxPowerUps.getChildren().remove(hbox);
+		timedPowerUps.remove(timer);
+		powerUp.deactivate(this, game);		
 	}
 
 	public void showLabelFPS(boolean value)
@@ -979,8 +1028,7 @@ public class LevelController
 		game.resetPointsSinceLastMultiplicatorReset();
 		game.setBoard(null);
 		game.setLevelController(null);
-		game.setMovingPowerUps(new ArrayList<>());
-		game.setActivatedPowerUps(new ArrayList<>());
+		game.setMovingPowerUps(new ArrayList<>());		
 
 		anchorPaneGame.requestFocus();
 	}
diff --git a/src/de/bricked/ui/LevelGUI.fxml b/src/de/bricked/ui/LevelGUI.fxml
index dabc3a8a3ca5e10c4660fe58c2d4cdb16f18abda..b1e6a1a58e86daeca19d14dedc8087fb95ee9c5e 100644
--- a/src/de/bricked/ui/LevelGUI.fxml
+++ b/src/de/bricked/ui/LevelGUI.fxml
@@ -8,9 +8,9 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPane" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.bricked.ui.LevelController">
+<AnchorPane fx:id="anchorPane" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.bricked.ui.LevelController">
    <children>
-      <AnchorPane fx:id="anchorPaneGame" layoutX="22.0" layoutY="125.0" minHeight="650.0" minWidth="700.0" prefHeight="650.0" prefWidth="700.0" AnchorPane.bottomAnchor="25.0" AnchorPane.leftAnchor="22.0" AnchorPane.rightAnchor="78.0" AnchorPane.topAnchor="125.0">
+      <AnchorPane fx:id="anchorPaneGame" layoutX="14.0" layoutY="125.0" minHeight="650.0" minWidth="670.0" prefHeight="650.0" prefWidth="670.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="116.0" AnchorPane.topAnchor="125.0">
          <children>
             <Label fx:id="labelMultiplicator" alignment="CENTER" contentDisplay="CENTER" layoutX="301.0" layoutY="502.0" prefHeight="45.0" prefWidth="100.0" textAlignment="CENTER">
                <font>
@@ -18,7 +18,7 @@
                </font>
             </Label>
          </children></AnchorPane>
-      <VBox fx:id="vboxPowerUps" layoutX="745.0" layoutY="125.0" minHeight="338.0" minWidth="40.0" prefHeight="402.0" prefWidth="40.0" AnchorPane.bottomAnchor="273.0" AnchorPane.rightAnchor="15.0" AnchorPane.topAnchor="125.0" />
+      <VBox fx:id="vboxPowerUps" layoutX="745.0" layoutY="125.0" maxHeight="490.0" minHeight="338.0" minWidth="40.0" prefHeight="490.0" prefWidth="90.0" AnchorPane.bottomAnchor="185.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="125.0" />
       <HBox alignment="CENTER" layoutX="34.0" layoutY="23.0" prefHeight="100.0" prefWidth="275.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0">
          <children>
             <Button fx:id="buttonBack" mnemonicParsing="false" onAction="#back" text="Back" />
@@ -64,7 +64,7 @@
             </Label>
          </children>
       </HBox>
-      <VBox fx:id="vboxLives" layoutX="745.0" layoutY="603.0" minHeight="71.0" minWidth="40.0" prefHeight="227.0" prefWidth="40.0" AnchorPane.bottomAnchor="24.0" AnchorPane.rightAnchor="15.0" />
+      <VBox fx:id="vboxLives" layoutX="745.0" layoutY="603.0" minHeight="71.0" minWidth="40.0" prefHeight="160.0" prefWidth="90.0" AnchorPane.bottomAnchor="14.0" AnchorPane.rightAnchor="14.0" />
       <Label fx:id="labelFPS" layoutX="770.0" layoutY="6.0" text="0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="8.0">
          <font>
             <Font name="System Bold" size="16.0" />
diff --git a/src/de/bricked/utils/CountdownTimer.java b/src/de/bricked/utils/CountdownTimer.java
index f5a807828a9f2d5f02a8c8ffb54c8987b252bcee..e702bd266f9cea020896f1cd82970ad3ea309e5f 100644
--- a/src/de/bricked/utils/CountdownTimer.java
+++ b/src/de/bricked/utils/CountdownTimer.java
@@ -6,17 +6,40 @@ import java.util.TimerTask;
 import de.bricked.ui.LevelController;
 import javafx.application.Platform;
 import javafx.scene.control.Label;
+import javafx.scene.layout.HBox;
 
 public class CountdownTimer
 {
-	private int count;
+	private int count;	
+	private HBox hbox;	
+	private LevelController levelController;
+	private Timer timer;
+	private TimerTask task;
+	private CountdownTimer self;
 
-	public CountdownTimer(int seconds, Label label, LevelController levelController)
+	public CountdownTimer(int seconds, HBox hbox, LevelController levelController)
 	{
 		this.count = seconds;
+		this.hbox = hbox;	
+		this.levelController = levelController;
+		self = this;
 		
-		Timer timer = new Timer();
-		TimerTask task = new TimerTask()
+		start();
+	}
+	
+	public void addSecondsToTimer(int seconds)
+	{
+		this.count += seconds;
+	}	
+	
+	public HBox getHBox()
+	{
+		return hbox;
+	}	
+	
+	public void start()
+	{
+		task = new TimerTask()
 		{
 			@Override
 			public void run()
@@ -24,7 +47,8 @@ public class CountdownTimer
 				Platform.runLater(()->{
 					try
 					{
-						label.setText(String.valueOf(count));
+						Label labelSeconds = (Label)hbox.getChildren().get(1);
+						labelSeconds.setText(String.valueOf(count));
 					}
 					catch(Exception e)
 					{
@@ -39,12 +63,19 @@ public class CountdownTimer
 				if(count == 0)
 				{
 					Platform.runLater(()->{
-						levelController.deactivatePowerUp(label);
+						levelController.deactivatePowerUp(self, hbox);
 					});
 					timer.cancel();
 				}				
 			}
 		};
+		timer = new Timer();		
 		timer.schedule(task, 0, 1000);
 	}
+	
+	public void stop()
+	{
+		timer.cancel();		
+		timer.purge();
+	}
 }
\ No newline at end of file
diff --git a/src/de/brickedleveleditor/ui/BrickLabel.java b/src/de/brickedleveleditor/ui/BrickLabel.java
index 1ef1a69f4d00646837fbf88d47ee011dd63437b3..030ef6808b2d10ccc5b0469b517e084461964703 100644
--- a/src/de/brickedleveleditor/ui/BrickLabel.java
+++ b/src/de/brickedleveleditor/ui/BrickLabel.java
@@ -17,7 +17,7 @@ public class BrickLabel extends Label
 
     public BrickLabel(BrickType brickType, PowerUpType powerUpType)
     {
-        super(brickType.getID() + powerUpType.getId());
+        super(brickType.getID() + powerUpType.getID());
         this.brickType = brickType;
         this.powerUpType = powerUpType;
 
@@ -36,7 +36,7 @@ public class BrickLabel extends Label
     public void setBrickType(BrickType brickType)
     {
         this.brickType = brickType;
-        setText(this.brickType.getID()+this.powerUpType.getId());
+        setText(this.brickType.getID()+this.powerUpType.getID());
     }
 
     public PowerUpType getPowerUpType()
@@ -47,6 +47,6 @@ public class BrickLabel extends Label
     public void setPowerUpType(PowerUpType powerUpType)
     {
         this.powerUpType = powerUpType;
-        setText(this.brickType.getID()+this.powerUpType.getId());
+        setText(this.brickType.getID()+this.powerUpType.getID());
     }
 }
diff --git a/src/de/brickedleveleditor/ui/controller/MainController.java b/src/de/brickedleveleditor/ui/controller/MainController.java
index 2a013c0c4bd154c2695a8f6171db3eeed47d9838..84ea30ceef0eff97235f3275c04b306d0116cff0 100644
--- a/src/de/brickedleveleditor/ui/controller/MainController.java
+++ b/src/de/brickedleveleditor/ui/controller/MainController.java
@@ -1,18 +1,10 @@
 package de.brickedleveleditor.ui.controller;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.ResourceBundle;
-
 import de.bricked.game.bricks.Brick;
 import de.bricked.game.bricks.BrickType;
 import de.bricked.game.powerups.PowerUpType;
 import de.brickedleveleditor.game.levels.LevelPackWriter;
-import de.bricked.game.paddle.PaddleSize;
 import de.brickedleveleditor.ui.BrickLabel;
-import javafx.event.ActionEvent;
 import javafx.event.EventHandler;
 import javafx.fxml.FXML;
 import javafx.fxml.FXMLLoader;
@@ -25,7 +17,6 @@ import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.Label;
 import javafx.scene.control.MenuItem;
 import javafx.scene.image.Image;
-import javafx.scene.image.ImageView;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.*;
 import javafx.scene.paint.Paint;
@@ -35,6 +26,12 @@ import logger.LogLevel;
 import logger.Logger;
 import tools.Worker;
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
 public class MainController extends AbstractController
 {
     @FXML
@@ -111,7 +108,7 @@ public class MainController extends AbstractController
         powerupTextures.add(null);
         for (int i = 1; i < PowerUpType.types.length; i++)
         {
-            File powerupPath = new File(rootPath + PowerUpType.types[i].getId() + fileExt);
+            File powerupPath = new File(rootPath + PowerUpType.types[i].getID() + fileExt);
             try
             {
                 Image image = new Image(powerupPath.getPath());