diff --git a/Praktikum/VINF_MaerklinControl/bin/.gitignore b/Praktikum/VINF_MaerklinControl/bin/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..d0380dd1b383afcf938027633d2902f4e14690f3
--- /dev/null
+++ b/Praktikum/VINF_MaerklinControl/bin/.gitignore
@@ -0,0 +1,2 @@
+/gui/
+/server/
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class
index abf9f4e0db7a71c616c8c917f97ef954f63fca27..65bf01205c2e4a0b643560c0e9b5f6a9a535ea37 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$EstablishConnection.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class
index 9ae81e7efe023ff6ee577cdadb8e82860609ef83..dd619b744dbc378707abbe824475de71efe9180b 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class and b/Praktikum/VINF_MaerklinControl/bin/gui/MainApp$UpdateFunctionality.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/server/MaerklinServer.class b/Praktikum/VINF_MaerklinControl/bin/server/MaerklinServer.class
index a30f632a905c4237764ac5b3635bcbf7cf9d406b..afe7a4d2062fca83c9266f25ce3c80bae44dadef 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/server/MaerklinServer.class and b/Praktikum/VINF_MaerklinControl/bin/server/MaerklinServer.class differ
diff --git a/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class b/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class
index 739f64cfde4ac5c302dcba68ba9caab5cf5df178..f22ee468a140cc7e74b01e0951de358494f54002 100644
Binary files a/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class and b/Praktikum/VINF_MaerklinControl/bin/server/UDPListener.class differ
diff --git a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
index e90aec90510bff1d8f13e7d069ad6f0dc474013a..f66ae239f08df593bd1572e5e1d23df28453a8ab 100644
--- a/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
+++ b/Praktikum/VINF_MaerklinControl/src/gui/MainApp.java
@@ -102,7 +102,7 @@ public class MainApp extends Application {
     @Override
     public void start(Stage primaryStage) {
         this.primaryStage = primaryStage;
-        this.primaryStage.setTitle("M�rklin Control Client");
+        this.primaryStage.setTitle("M�rklin Control Client");
         this.primaryStage.getIcons().add(new Image("file:res/BO.png"));
         initRootLayout();
         initTabs();
@@ -333,12 +333,12 @@ public class MainApp extends Application {
 		@Override
 		public void run() {
 			if (!connectionEstablished) {
-				try (Socket socket = new Socket(configuration.getSocketAddress().get().getHostName(), configuration.getSocketAddress().get().getPort()); InputStream inStream = socket.getInputStream(); OutputStream outStream = socket.getOutputStream();) {
+				try (Socket socket = new Socket(configuration.getSocketAddress().get().getHostName(), configuration.getSocketAddress().get().getPort())) {
 					client = socket;
 					client.setKeepAlive(true);
 					client.setReuseAddress(true);
-					in = inStream;
-					out = outStream;
+					in = client.getInputStream();
+					out = client.getOutputStream();
 					connectionEstablished = true;
 					running = true;
 					UTILITY_THREAD_EXECUTOR.submit((new UpdateFunctionality(CONTROLLER_INSTANCE, in)));
@@ -392,7 +392,7 @@ public class MainApp extends Application {
 		}
 
 		public void parseDatagram (byte[] datagram) {
-			System.out.println("2:     "+DatatypeConverter.printHexBinary(datagram));
+			//System.out.println("2:     "+DatatypeConverter.printHexBinary(datagram));
 			if (datagram.length < 5) {
 				setStatus("Error while updating!");
 				return;
@@ -452,7 +452,7 @@ public class MainApp extends Application {
 								for (int i = 0; i < Properties.IN_BUFFER_SIZE; i++) {
 									datagram[i] = buffer[counter-Properties.IN_BUFFER_SIZE+i+1];
 								}
-								System.out.println("1:     "+DatatypeConverter.printHexBinary(datagram));
+								//System.out.println("1:     "+DatatypeConverter.printHexBinary(datagram));
 								parseDatagram(datagram);
 							}
 							else if (dataCounter > 5 && startByte) {
diff --git a/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java b/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java
index a716f55e8c741cf5cd31a9f76ee7e70bbac52b10..c2774bd217d4ce717b1fc7c705dc880e43323880 100644
--- a/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java
+++ b/Praktikum/VINF_MaerklinControl/src/server/MaerklinServer.java
@@ -151,9 +151,9 @@ public class MaerklinServer{
 	// Starts the thread to broadcast the current status
 	public void statusUpdate(){
 		for (Socket clientSocket : clients) {
-			try (OutputStream outStream = clientSocket.getOutputStream()){
+			try {
 				//System.out.println("Updating client: "+clientSocket.getRemoteSocketAddress());
-				UTILITY_THREAD_EXECUTOR.submit(new UpdateThread(outStream));
+				UTILITY_THREAD_EXECUTOR.submit(new UpdateThread(clientSocket.getOutputStream()));
 			} 
 			catch (IOException e) {
 				System.out.println("Failed to receive output-stream of one of the clients!");
diff --git a/Praktikum/VINF_MaerklinControl/src/server/UDPListener.java b/Praktikum/VINF_MaerklinControl/src/server/UDPListener.java
index 127e4df5452c25e30587e4b3ecbc9a42080efab5..e2d66c56b28c07eef70e15d8cbf8849c352cc792 100644
--- a/Praktikum/VINF_MaerklinControl/src/server/UDPListener.java
+++ b/Praktikum/VINF_MaerklinControl/src/server/UDPListener.java
@@ -110,6 +110,7 @@ public class UDPListener implements Runnable{
 						for (Engine train : Engine.engines){
 							if (train.getEngineID() == getAddress()){
 								train.engineDirection = getEngineDirection();
+								train.engineSpeed = 0;
 								System.out.println("Direction of Engine "+train.getEngineID()+" changed to "+train.getEngineDirection());
 								break;
 							}