diff --git a/src/de/deadlocker8/loadingbar/main/Main.java b/src/de/deadlocker8/loadingbar/main/Main.java
index 3e6a7b36597374a06a617b674ffaa5cec8743562..01f73b3645f07072c2010e51214da9eb12aca32a 100644
--- a/src/de/deadlocker8/loadingbar/main/Main.java
+++ b/src/de/deadlocker8/loadingbar/main/Main.java
@@ -32,8 +32,9 @@ public class Main extends Application
 
 			stage.setResizable(true);
 			stage.getIcons().add(new Image("/de/deadlocker8/loadingbar/resources/icon.png"));
-			stage.setTitle(bundle.getString("app.name"));
+			stage.setTitle(bundle.getString("app.name"));			
 			stage.setScene(scene);
+			stage.getScene().getStylesheets().add("de/deadlocker8/loadingbar/ui/style.css");
 			stage.show();
 		}
 		catch(Exception e)
diff --git a/src/de/deadlocker8/loadingbar/ui/Controller.java b/src/de/deadlocker8/loadingbar/ui/Controller.java
index 8502d4237be2bf6c17e362829d5843e1b1b3c322..6f1844a35489508dfb7d33b1b1f6d53fadd6ad16 100644
--- a/src/de/deadlocker8/loadingbar/ui/Controller.java
+++ b/src/de/deadlocker8/loadingbar/ui/Controller.java
@@ -1,58 +1,119 @@
 package de.deadlocker8.loadingbar.ui;
 
+import java.util.Collections;
 import java.util.Locale;
 import java.util.Random;
 import java.util.ResourceBundle;
 
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
 import javafx.fxml.FXML;
+import javafx.scene.Node;
 import javafx.scene.control.Label;
 import javafx.scene.control.ProgressBar;
 import javafx.scene.image.Image;
+import javafx.scene.layout.AnchorPane;
+import javafx.scene.layout.StackPane;
 import javafx.stage.Stage;
 import tools.AlertGenerator;
 
 public class Controller
 {
-	@FXML private Label label;
+	@FXML private AnchorPane mainPane;
+	@FXML private Label labelTarget;
+	@FXML private Label labelUser;
+	@FXML private Label labelMessage;
 	@FXML private ProgressBar progressBar;
+	@FXML private ProgressBar progressBarTarget;
+	@FXML private StackPane stackPane;
 
 	private Stage stage;
 	private Image icon = new Image("de/deadlocker8/loadingbar/resources/icon.png");
 	private final ResourceBundle bundle = ResourceBundle.getBundle("de/deadlocker8/loadingbar/main/", Locale.GERMANY);
 	private CountdownTimer timer;
+	private int targetPercentage;
+	private boolean swapped;
 
 	public void init(Stage stage)
 	{
 		this.stage = stage;
+
+		mainPane.setStyle("-fx-background-color: #333333");
+		stackPane.setStyle("-fx-background-color: derive(#333333, -60%)");
+		progressBar.setStyle("-fx-accent: white;");	
+		labelTarget.setStyle("-fx-text-fill: white; -fx-font-size: 40; -fx-font-weight: bold;");
+		labelUser.setStyle("-fx-text-fill: white; -fx-font-size: 30; -fx-font-weight: bold;");
+		labelMessage.setStyle("-fx-text-fill: white; -fx-font-size: 30; -fx-font-weight: bold;");
 	}
-	
+
 	public void buttonStart()
 	{
+		if(swapped)
+		{
+			swapProgressBars();
+			swapped = false;
+		}
+
 		Random random = new Random();
-		int targetPercentage = 10 + random.nextInt(90 - 10 + 1);
-		label.setText(String.valueOf(targetPercentage));
-		
+		targetPercentage = 15 + random.nextInt(90 - 15 + 1);
+		labelTarget.setText(String.valueOf(targetPercentage));
+		labelUser.setText("");
+		labelMessage.setText("");
+
+		progressBarTarget.setProgress(0.0);
+
 		progressBar.setProgress(0.0);
 		timer = new CountdownTimer(4.0, this);
 	}
-	
+
 	public void buttonStop()
 	{
 		stop(timer.stop());
 	}
-	
+
 	public void updateProgress(double value)
 	{
 		progressBar.setProgress(value);
 	}
-	
+
+	private void swapProgressBars()
+	{
+		ObservableList<Node> workingCollection = FXCollections.observableArrayList(stackPane.getChildren());
+		Collections.swap(workingCollection, 0, 1);
+		stackPane.getChildren().setAll(workingCollection);
+	}
+
 	public void stop(double value)
 	{
 		int userPercentage = (int)(value * 100);
-		
-		label.setText(label.getText() + " - " + userPercentage);
+		labelUser.setText(String.valueOf(userPercentage));
+		progressBar.setProgress(userPercentage / 100.0);
+		progressBarTarget.setProgress(targetPercentage / 100.0);
+		progressBarTarget.setStyle("-fx-accent: red");
+
+		if(userPercentage < targetPercentage)
+		{
+			swapped = true;
+			swapProgressBars();
+		}
+
+		int difference = Math.abs(targetPercentage - userPercentage);
+		switch(difference)
+		{
+			case 0:
+				labelMessage.setText("Awesome!");
+				break;
+			case 1:
+				labelMessage.setText("Close One!");
+				break;
+			case 2:
+				labelMessage.setText("Almost");
+				break;
+			default:
+				labelMessage.setText("Missed by " + difference);
+		}
 	}
-	
+
 	public Stage getStage()
 	{
 		return stage;
@@ -60,6 +121,6 @@ public class Controller
 
 	public void about()
 	{
-		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);	
+		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/deadlocker8/loadingbar/ui/GUI.fxml b/src/de/deadlocker8/loadingbar/ui/GUI.fxml
index 076a4f5a9032f39190c0af04c3036f30ea18e124..3301e971fc8998d6d7390df3f338d24619eee087 100644
--- a/src/de/deadlocker8/loadingbar/ui/GUI.fxml
+++ b/src/de/deadlocker8/loadingbar/ui/GUI.fxml
@@ -1,20 +1,62 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
+<?import javafx.geometry.Insets?>
 <?import javafx.scene.control.Button?>
 <?import javafx.scene.control.Label?>
 <?import javafx.scene.control.ProgressBar?>
 <?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.StackPane?>
+<?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane prefHeight="400.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.loadingbar.ui.Controller">
+<AnchorPane fx:id="mainPane" prefHeight="400.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.loadingbar.ui.Controller">
    <children>
-      <ProgressBar fx:id="progressBar" layoutX="25.0" layoutY="129.0" prefWidth="200.0" progress="0.0" AnchorPane.leftAnchor="25.0" AnchorPane.rightAnchor="25.0" />
-      <Button layoutX="174.0" layoutY="174.0" mnemonicParsing="false" onAction="#buttonStart" text="Start" />
-      <Label fx:id="label" layoutX="174.0" layoutY="89.0" prefHeight="27.0" prefWidth="147.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Label>
-      <Button layoutX="240.0" layoutY="174.0" mnemonicParsing="false" onAction="#buttonStop" text="Stop" />
+      <VBox alignment="TOP_CENTER" layoutX="25.0" layoutY="16.0" prefHeight="363.0" prefWidth="350.0" AnchorPane.bottomAnchor="25.0" AnchorPane.leftAnchor="25.0" AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="25.0">
+         <children>
+            <Label fx:id="labelMessage" alignment="CENTER" maxWidth="1.7976931348623157E308" prefHeight="27.0">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Label>
+            <Label fx:id="labelTarget" alignment="CENTER" maxWidth="1.7976931348623157E308" prefHeight="27.0">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <VBox.margin>
+                  <Insets top="15.0" />
+               </VBox.margin>
+            </Label>
+            <StackPane fx:id="stackPane">
+               <children>
+                  <ProgressBar fx:id="progressBar" maxWidth="1.7976931348623157E308" progress="0.0" />
+                  <ProgressBar fx:id="progressBarTarget" maxWidth="1.7976931348623157E308" progress="0.0" />
+               </children>
+               <VBox.margin>
+                  <Insets top="15.0" />
+               </VBox.margin>
+            </StackPane>
+            <Label fx:id="labelUser" alignment="CENTER" maxWidth="1.7976931348623157E308" prefHeight="27.0">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <VBox.margin>
+                  <Insets top="15.0" />
+               </VBox.margin>
+            </Label>
+            <Button mnemonicParsing="false" onAction="#buttonStop" text="STOP">
+               <VBox.margin>
+                  <Insets top="20.0" />
+               </VBox.margin>
+               <font>
+                  <Font name="System Bold" size="24.0" />
+               </font>
+            </Button>
+            <Button mnemonicParsing="false" onAction="#buttonStart" text="Start">
+               <VBox.margin>
+                  <Insets top="50.0" />
+               </VBox.margin>
+            </Button>
+         </children>
+      </VBox>
    </children>
 </AnchorPane>
diff --git a/src/de/deadlocker8/loadingbar/ui/style.css b/src/de/deadlocker8/loadingbar/ui/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..22e6ba3d479400f0e72cd17c27b6b07361b10a50
--- /dev/null
+++ b/src/de/deadlocker8/loadingbar/ui/style.css
@@ -0,0 +1,18 @@
+.progress-bar {
+    -fx-indeterminate-bar-length: 60;
+    -fx-indeterminate-bar-escape: true;
+    -fx-indeterminate-bar-flip: true;
+    -fx-indeterminate-bar-animation-time: 2;
+}
+.progress-bar > .bar {
+    -fx-background-color: -fx-accent;
+    -fx-background-insets: 0 0 0 0;
+    -fx-background-radius: 0;
+    -fx-padding: 0.75em;
+}
+
+.progress-bar > .track {  
+    -fx-background-color: transparent;          
+    -fx-background-insets: 0, 0 0 0 0, 0 0 0 0;
+    -fx-background-radius: 0, 0, 0;
+}
\ No newline at end of file