diff --git a/bin/de/bricked/main/_de.properties b/bin/de/bricked/main/_de.properties
index f34e0b8565463736eb20bb539c8b4eace1e8748d..ebc59d499490a8404b2881579aee540f26584714 100644
--- a/bin/de/bricked/main/_de.properties
+++ b/bin/de/bricked/main/_de.properties
@@ -1,7 +1,7 @@
 app.name=Bricked
 version.code=0
 version.name=0.0.0
-version.date=19.10.16
+version.date=17.12.16
 author=Max Wittig, Robert Goldmann (Vielen Dank an Tobias) 
 
 shortcut.debug.console=F12
diff --git a/lib/Tools.jar b/lib/Tools.jar
index 1ad855e76a4327dbfc19066d639b190f24c02ab9..5a145f32bcf870288793acaf2dfabedb41cd3c1f 100644
Binary files a/lib/Tools.jar and b/lib/Tools.jar differ
diff --git a/src/de/bricked/game/board/Board.java b/src/de/bricked/game/board/Board.java
index e684131b7a0c3ac32e02f05086718e38112cc6f1..05d27d54c44b0c8a1d6da0044c24708064d58684 100644
--- a/src/de/bricked/game/board/Board.java
+++ b/src/de/bricked/game/board/Board.java
@@ -27,8 +27,7 @@ public class Board
 		this.game = game;
 
 		init();
-		String boardString = game.getLevel().getBoard();
-		// parse board -> create bricks
+		String boardString = game.getLevel().getBoard();	
 		String[] bricksAndPowerArray = boardString.split(" ");
 		ArrayList<Brick> loadedBricks = new ArrayList<>();
 		for(String bricksAndPower : bricksAndPowerArray)
@@ -37,7 +36,7 @@ public class Board
 			int powerUp = Integer.parseInt(bricksAndPower.substring(1));
 			Brick currentBrick = null;
 			PowerUp currentPowerUp = null;
-			// TODO IMPLEMENT POWERUP
+			// TODO IMPLEMENT POWERUPS
 			switch(powerUp)
 			{
 				case 0:
diff --git a/src/de/bricked/game/levels/LevelPackHandler.java b/src/de/bricked/game/levels/LevelPackHandler.java
index dc27b337254d535d5fd5372069c2883a10862c71..2a0723ed1de75226fc74aab9d70f70c80d3797a1 100644
--- a/src/de/bricked/game/levels/LevelPackHandler.java
+++ b/src/de/bricked/game/levels/LevelPackHandler.java
@@ -117,4 +117,4 @@ public class LevelPackHandler
         }
         return fileArrayList;
     }
-}
+}
\ No newline at end of file
diff --git a/src/de/bricked/game/paddle/Paddle.java b/src/de/bricked/game/paddle/Paddle.java
index 96b2b68cb7c7fab15c50f5d35005a1924aec91cc..491d649cd65052082a00f57b743627c366e45850 100644
--- a/src/de/bricked/game/paddle/Paddle.java
+++ b/src/de/bricked/game/paddle/Paddle.java
@@ -12,8 +12,7 @@ public class Paddle
 	{
         this.gameWidth = gameWidth;
         this.paddleSize = size;
-		this.height = initialHeight;
-		//this.MAX_WIDTH = MAX_WIDTH_PERCENTAGE * gameWidth;
+		this.height = initialHeight;		
 		this.speed = SPEED_FACTOR * gameWidth;
 	}
 
diff --git a/src/de/bricked/game/powerups/PowerUpType.java b/src/de/bricked/game/powerups/PowerUpType.java
index e360e30acd7be843dca36e0b60e160ba7387193c..93d3ec98301f03453a00b7f8feb1306416357e94 100644
--- a/src/de/bricked/game/powerups/PowerUpType.java
+++ b/src/de/bricked/game/powerups/PowerUpType.java
@@ -1,6 +1,5 @@
 package de.bricked.game.powerups;
 
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
diff --git a/src/de/bricked/game/powerups/paddle/DecreasePaddleSizePowerUp.java b/src/de/bricked/game/powerups/paddle/DecreasePaddleSizePowerUp.java
index 214145d5e25fc4f0f878af4d2b525b24021d503e..fb5fca7a2866e5e29e1fa78cb8ee7fc9e87750d0 100644
--- a/src/de/bricked/game/powerups/paddle/DecreasePaddleSizePowerUp.java
+++ b/src/de/bricked/game/powerups/paddle/DecreasePaddleSizePowerUp.java
@@ -27,4 +27,4 @@ public class DecreasePaddleSizePowerUp extends PowerUp
 	public void deactivate(LevelController levelController, Game game)
 	{				
 	}
-}
+}
\ No newline at end of file
diff --git a/src/de/bricked/game/powerups/paddle/IncreasePaddleSizePowerUp.java b/src/de/bricked/game/powerups/paddle/IncreasePaddleSizePowerUp.java
index 00a6cb3e0b400402c6a1fc35bb6c2711333d910d..c21112859a7b89fa867b28c15f096d7226d7c56c 100644
--- a/src/de/bricked/game/powerups/paddle/IncreasePaddleSizePowerUp.java
+++ b/src/de/bricked/game/powerups/paddle/IncreasePaddleSizePowerUp.java
@@ -27,4 +27,4 @@ public class IncreasePaddleSizePowerUp extends PowerUp
 	public void deactivate(LevelController levelController, Game game)
 	{				
 	}
-}
+}
\ No newline at end of file
diff --git a/src/de/bricked/game/settings/GameSize.java b/src/de/bricked/game/settings/GameSize.java
index 7e8465036101189fd559ac3a320ba556a28f20ef..92c05987cf189cd772c0034c02d80da3d1e49374 100644
--- a/src/de/bricked/game/settings/GameSize.java
+++ b/src/de/bricked/game/settings/GameSize.java
@@ -10,7 +10,6 @@ public enum GameSize
     BIG(1920, 1080),
     FULL_SCREEN();
 
-
     private int width;
     private int height;
 
@@ -36,4 +35,4 @@ public enum GameSize
     {
         return height;
     }
-}
+}
\ No newline at end of file
diff --git a/src/de/bricked/main/_de.properties b/src/de/bricked/main/_de.properties
index f34e0b8565463736eb20bb539c8b4eace1e8748d..ebc59d499490a8404b2881579aee540f26584714 100644
--- a/src/de/bricked/main/_de.properties
+++ b/src/de/bricked/main/_de.properties
@@ -1,7 +1,7 @@
 app.name=Bricked
 version.code=0
 version.name=0.0.0
-version.date=19.10.16
+version.date=17.12.16
 author=Max Wittig, Robert Goldmann (Vielen Dank an Tobias) 
 
 shortcut.debug.console=F12
diff --git a/src/de/bricked/ui/Controller.java b/src/de/bricked/ui/Controller.java
index 71e276a999eeb91f00867fea931463f07be8fb79..eee193f0620b3a0b120edcf229bb7826910ee8ad 100644
--- a/src/de/bricked/ui/Controller.java
+++ b/src/de/bricked/ui/Controller.java
@@ -13,8 +13,6 @@ import javafx.fxml.FXML;
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Parent;
 import javafx.scene.Scene;
-import javafx.scene.control.Alert;
-import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.Button;
 import javafx.scene.image.Image;
 import javafx.scene.input.KeyEvent;
@@ -25,6 +23,7 @@ import javafx.stage.WindowEvent;
 import kuusisto.tinysound.TinySound;
 import logger.LogLevel;
 import logger.Logger;
+import tools.AlertGenerator;
 
 public class Controller
 {
@@ -139,14 +138,6 @@ public class Controller
 
 	public void about()
 	{
-		Alert alert = new Alert(AlertType.INFORMATION);
-		alert.setTitle("About " + bundle.getString("app.name"));
-		alert.setHeaderText(bundle.getString("app.name")); 
-		alert.setContentText("Version:     " + bundle.getString("version.name") + "\r\nDate:         " + bundle.getString("version.date") + "\r\nAuthors:     "+ bundle.getString("author") +"\r\n");
-		Stage dialogStage = (Stage)alert.getDialogPane().getScene().getWindow();
-		alert.getDialogPane().setStyle("-fx-base: " + bundle.getString("color.background"));
-		dialogStage.getIcons().add(icon);
-		dialogStage.centerOnScreen();
-		alert.showAndWait();
+		AlertGenerator.showAboutAlert(bundle.getString("app.name"), bundle.getString("version.name"), bundle.getString("version.code"), bundle.getString("version.date"), bundle.getString("author"), icon, stage, null, false);	
 	}
 }
\ No newline at end of file
diff --git a/src/de/bricked/ui/LevelController.java b/src/de/bricked/ui/LevelController.java
index 22b92950a92d939525cb3dcca6f26eea96459e2d..5a08cb2f6b799b28f02017066c547f8ed97f03a0 100644
--- a/src/de/bricked/ui/LevelController.java
+++ b/src/de/bricked/ui/LevelController.java
@@ -40,7 +40,6 @@ import javafx.scene.Cursor;
 import javafx.scene.Group;
 import javafx.scene.Scene;
 import javafx.scene.control.Alert;
-import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.Button;
 import javafx.scene.control.Label;
 import javafx.scene.effect.Lighting;
@@ -66,6 +65,7 @@ import javafx.util.Duration;
 import kuusisto.tinysound.TinySound;
 import logger.LogLevel;
 import logger.Logger;
+import tools.AlertGenerator;
 import tools.Worker;
 
 public class LevelController
@@ -445,18 +445,10 @@ public class LevelController
 							gameState = GameState.STOPPED;
 							timer.stop();		
 							
-							game.getSoundHandler().play(SoundType.GAME_OVER);							
-
-							Platform.runLater(() -> {								
-								Alert alert = new Alert(AlertType.INFORMATION);
-								alert.setTitle("Game Over");
-								alert.setHeaderText("");
-								alert.setContentText("You have no lives left");
-								Stage dialogStage = (Stage)alert.getDialogPane().getScene().getWindow();
-								alert.getDialogPane().setStyle("-fx-base: " + bundle.getString("color.background"));
-								dialogStage.getIcons().add(icon);
-								dialogStage.centerOnScreen();
-								alert.showAndWait();
+							game.getSoundHandler().play(SoundType.GAME_OVER);								
+							
+							Platform.runLater(() -> {									
+								AlertGenerator.showAlert(Alert.AlertType.INFORMATION, "Game Over", "", "Youe have no lives left", icon, stage, bundle.getString("color.background"), false);
 							});
 						}
 						else
@@ -713,8 +705,7 @@ public class LevelController
 		anchorPaneGame.getChildren().remove(stackPaneBall);
 
 		game.setBall(new Ball(ballType));
-
-		// create circle for ball
+		
 		final Circle circle = new Circle(game.getBall().getBallRadius(), Color.web(game.getBall().getType().getColor()));
 		circle.setEffect(new Lighting());
 		stackPaneBall = new StackPane();
@@ -810,16 +801,8 @@ public class LevelController
 					
 					game.getSoundHandler().play(SoundType.FINISHED_LEVEL);		
 
-					Platform.runLater(() -> {
-						Alert alert = new Alert(AlertType.INFORMATION);
-						alert.setTitle("Congratulations!");
-						alert.setHeaderText("");
-						alert.setContentText("You finished Level \"" + game.getLevel().getName() + "\" with " + game.getTotalPoints() + " Points");
-						Stage dialogStage = (Stage)alert.getDialogPane().getScene().getWindow();
-						alert.getDialogPane().setStyle("-fx-base: " + bundle.getString("color.background"));
-						dialogStage.getIcons().add(icon);
-						dialogStage.centerOnScreen();
-						alert.showAndWait();
+					Platform.runLater(() -> {						
+						AlertGenerator.showAlert(Alert.AlertType.INFORMATION, "Congratulations!", "", "You finished Level \"" + game.getLevel().getName() + "\" with " + game.getTotalPoints() + " Points", icon, stage, bundle.getString("color.background"), false);
 					});
 				}
 			}
diff --git a/src/de/bricked/ui/LevelPackSelectController.java b/src/de/bricked/ui/LevelPackSelectController.java
index 75dc7998873883f706ab54a734fbf55f09d2868a..7f822b42a3b80306f1003bf34f9599c9b9c893dc 100644
--- a/src/de/bricked/ui/LevelPackSelectController.java
+++ b/src/de/bricked/ui/LevelPackSelectController.java
@@ -111,9 +111,6 @@ public class LevelPackSelectController
 		});
 		
 		mainPane.setStyle("-fx-base: " + bundle.getString("color.background") + ";");
-		
-//		buttonBack.setStyle("-fx-base: " + bundle.getString("color.button"));
-//		downloadLevelpackButton.setStyle("-fx-base: " + bundle.getString("color.button"));
 	}
 
 	public void reload()
diff --git a/src/de/bricked/ui/cells/LevelCell.java b/src/de/bricked/ui/cells/LevelCell.java
index d1a3fa5ee3a6ae00199b1d3076c1fb3719e1d68a..dcf087db7d36b22b18b5ddec3c64be272e46696b 100644
--- a/src/de/bricked/ui/cells/LevelCell.java
+++ b/src/de/bricked/ui/cells/LevelCell.java
@@ -126,4 +126,4 @@ public class LevelCell extends ListCell<Level>
 
 		setStyle("-fx-background-color: transparent");
 	}
-}
+}
\ No newline at end of file
diff --git a/src/de/bricked/ui/cells/LevelPackCell.java b/src/de/bricked/ui/cells/LevelPackCell.java
index 09bb92b71c5af5ffbd242290b769849a577979c6..d255ccf4e34d96d5bfc7db965ce0ae8f363a53dc 100644
--- a/src/de/bricked/ui/cells/LevelPackCell.java
+++ b/src/de/bricked/ui/cells/LevelPackCell.java
@@ -73,4 +73,4 @@ public class LevelPackCell extends ListCell<LevelPack>
 
 		setStyle("-fx-background-color: transparent");
 	}
-}
+}
\ No newline at end of file
diff --git a/src/de/bricked/utils/Downloader.java b/src/de/bricked/utils/Downloader.java
index 2c414fd634c39f8cd397d06bd2aef9e96e0c602f..dd2ab21fdf6664e9f0f6231a028fa22067b2f1f7 100644
--- a/src/de/bricked/utils/Downloader.java
+++ b/src/de/bricked/utils/Downloader.java
@@ -1,6 +1,5 @@
 package de.bricked.utils;
 
-
 import de.bricked.game.Config;
 import de.bricked.game.levels.LevelPack;
 import de.bricked.game.levels.LevelPackParser;
@@ -31,7 +30,6 @@ public class Downloader
                 Logger.log(LogLevel.ERROR, Logger.exceptionToString(e));
             }
         }
-
     }
 
     private void save()
@@ -47,11 +45,10 @@ public class Downloader
         {
             e.printStackTrace();
         }
-
     }
 
     private String getPackName()
     {
         return levelPack.getPackageName();
     }
-}
+}
\ No newline at end of file
diff --git a/src/de/bricked/utils/FileUtils.java b/src/de/bricked/utils/FileUtils.java
index 3727a554b4a97eda94f8800e5d9cb4c0b2937e73..6fe9aacfab693513db030a52311a65dfb8ab9f81 100644
--- a/src/de/bricked/utils/FileUtils.java
+++ b/src/de/bricked/utils/FileUtils.java
@@ -55,4 +55,4 @@ public class FileUtils
         }
         return null;
     }
-}
+}
\ No newline at end of file
diff --git a/src/de/bricked/utils/MathUtils.java b/src/de/bricked/utils/MathUtils.java
deleted file mode 100644
index 735a1b254705a56fafc018b0a77a6fcafba1d9a8..0000000000000000000000000000000000000000
--- a/src/de/bricked/utils/MathUtils.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package de.bricked.utils;
-
-import javafx.geometry.Point2D;
-
-public class MathUtils
-{	
-    public static double getAngle(Point2D a, Point2D b)
-    {
-//    	double angle = Math.toDegrees(Math.atan2(b.getY(), b.getX()) - Math.atan2(a.getY(), a.getX()));
-    	return Math.toDegrees(Math.acos(a.dotProduct(b) / (a.magnitude() * b.magnitude()))); 
-    }
-    public static Point2D normalize(Point2D direction)
-    {
-        double length = Math.sqrt(direction.getX() * direction.getX() + direction.getY() * direction.getY());
-        double newX =  direction.getX() / length;
-        double newY = direction.getY() / length;
-        return new Point2D(newX, newY);
-    }
-}
\ No newline at end of file
diff --git a/src/de/brickedleveleditor/ui/controller/LevelPackDialogController.java b/src/de/brickedleveleditor/ui/controller/LevelPackDialogController.java
index 1ced35cffb950eb9589fcf44daa66cc9e4a31783..9f32ef6842b3af90da0323573e4c760a5d0ce4c0 100644
--- a/src/de/brickedleveleditor/ui/controller/LevelPackDialogController.java
+++ b/src/de/brickedleveleditor/ui/controller/LevelPackDialogController.java
@@ -2,12 +2,12 @@ package de.brickedleveleditor.ui.controller;
 
 
 import de.bricked.game.paddle.PaddleSize;
-import de.brickedleveleditor.utils.AlertGenerator;
 import javafx.fxml.FXML;
 import javafx.scene.control.Alert;
 import javafx.scene.control.ComboBox;
 import javafx.scene.control.Spinner;
 import javafx.scene.control.TextField;
+import tools.AlertGenerator;
 
 public class LevelPackDialogController extends AbstractController
 {
diff --git a/src/de/brickedleveleditor/utils/AlertGenerator.java b/src/de/brickedleveleditor/utils/AlertGenerator.java
deleted file mode 100644
index fa58b2a85386c8b292cec0e8e56bedb25fbdfaf0..0000000000000000000000000000000000000000
--- a/src/de/brickedleveleditor/utils/AlertGenerator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package de.brickedleveleditor.utils;
-
-import javafx.scene.control.Alert;
-import javafx.scene.control.Alert.AlertType;
-import javafx.scene.image.Image;
-import javafx.stage.Stage;
-
-public class AlertGenerator
-{
-    public static void showAlert(AlertType type, String contentText, Image icon)
-    {
-        show(type, type.name(), "", contentText, icon, true);
-    }
-
-    public static void showAlert(AlertType type, String title, String headerText, String contentText, Image icon, boolean centerOnScreen)
-    {
-        show(type, title, headerText, contentText, icon, centerOnScreen);
-    }
-
-    private static void show(AlertType type, String title, String headerText, String contentText, Image icon, boolean centerOnScreen)
-    {
-        Alert alert = new Alert(type);
-        alert.setTitle(title);
-        alert.setHeaderText(headerText);
-        alert.setContentText(contentText);
-        Stage dialogStage = (Stage) alert.getDialogPane().getScene().getWindow();
-        if(icon != null)
-        {
-            dialogStage.getIcons().add(icon);
-        }
-        if (centerOnScreen)
-        {
-            dialogStage.centerOnScreen();
-        }
-        alert.showAndWait();
-    }
-}
\ No newline at end of file