diff --git a/src/main/java/projekt/enigma/App.java b/src/main/java/projekt/enigma/App.java
index 553cceb55011f0c6fd0b8c8e39500c4cd98d97bf..fa705b2ed6d0f30ca2ffef815a19d5d05de37cdb 100644
--- a/src/main/java/projekt/enigma/App.java
+++ b/src/main/java/projekt/enigma/App.java
@@ -60,6 +60,8 @@ public class App extends Application {
     @Override
     public void start(Stage primaryStage) throws IOException {
         primaryStage.setTitle("Enigma");
+        primaryStage.setResizable(false);
+
         Label lblEingbae = new Label("Bitte Kenngruppe eingeben!");
         TextField tfEingabe = new TextField();
         Button btnKenngruppe = new Button("Kenngruppe setzen!");
diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java
index 0bacfd4f7d045c533bfc944e1c1fdec64062774d..64e863a087474ce8e95247a0f0aa5bfa87f9a025 100644
--- a/src/main/java/projekt/enigma/GuiController.java
+++ b/src/main/java/projekt/enigma/GuiController.java
@@ -3,18 +3,19 @@ package projekt.enigma;
 import javafx.concurrent.Task;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
+import javafx.geometry.HPos;
 import javafx.geometry.Insets;
 import javafx.geometry.Pos;
 import javafx.scene.control.*;
 import javafx.scene.input.MouseEvent;
+import javafx.scene.layout.AnchorPane;
 import javafx.scene.layout.GridPane;
-import javafx.scene.layout.Pane;
 import javafx.scene.shape.Circle;
 import javafx.stage.StageStyle;
-import org.apache.http.HttpException;
 import org.controlsfx.dialog.ProgressDialog;
 import projekt.enigma.model.Codierer;
 import projekt.enigma.model.Fehler;
+import projekt.enigma.view.ChkBoxGridPane;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -54,12 +55,13 @@ public class GuiController {
 	//deklariert die benötigten Textfelder
 	@FXML
 	private TextField tfCodiert, tfKlartext;
-	//deklariert benötigtes pane
-	@FXML
-	private Pane portPane0, portPane1, portPane2, portPane3, portPane4, portPane5, portPane6, portPane7, portPane8, portPane9;
 	//deklariert benötigtes GridPane
 	@FXML
+	private ChkBoxGridPane[] chkBoxGridPane;
+	@FXML
 	private GridPane mainGrid;
+	@FXML
+	private AnchorPane anchorPane;
 
 	/**
 	 * Initialisiert die Elemente GUI und setzt deren Startwerte
@@ -71,7 +73,6 @@ public class GuiController {
 		textCodiert = "";
 		resetDisplay = true;
 
-
 		//Einträge für Walzen
 		menu(mBtnWalzPos1, walzenNr);
 		menu(mBtnWalzPos2, walzenNr);
@@ -86,24 +87,11 @@ public class GuiController {
 		menu(mBtnStartPos1, position);
 		menu(mBtnStartPos3, position);
 		menu(mBtnStartPos2, position);
-
-
-		myToggleButtons();
 	}
 	//endregion
 
 	//region Init
 
-	/**
-	 * Für das Steckbrett müssen zehn CheckComboBoxen erstellt werden.
-	 * Hier wird die Funktion zum erstellen und Befüllen der Boxen, die Funktion zehn mal aufgerufen.
-	 */
-	private void generateSteckbrett() {
-		for (int i = 0; i <= 9; i++) {
-			this.createSteckbrettPort(i);
-		}
-	}
-
 	/**
 	 * Die Funktion createSteckbrettPort erstellt zehn CheckComboBoxen, holt sich die verfügbaren Buchstaben,
 	 * die bereits gesteckten Kabel und weißt sie zu.
@@ -148,81 +136,74 @@ public class GuiController {
 		ArrayList<MenuItem> mItem = new ArrayList<>();
 
 		for (int i = 0; i < str.length; i++) {
-			//Eintrag aus str der Arraylist mi hinzufügen
+			// Eintrag aus str der Arraylist mi hinzufügen
 			mItem.add(new MenuItem(str[i]));
-			//MenuItem mi dem Button button hinzufügen
+			// MenuItem mi dem Button button hinzufügen
 			button.getItems().add(mItem.get(i));
 			int finalI = i;
-			//Listener für die einzelnen Einträge
+			// Listener für die einzelnen Einträge
 			mItem.get(i).setOnAction(e -> setMenuBtnText(button, mItem.get(finalI)));
 		}
 	}
 
 	/**
 	 * TODO: Doku
-	 *
-	 * @param port   : int : Port zu dem das Panel geändert werden soll
-	 * @param status : aktivieren/deaktivieren
 	 */
-	private void switchPortVisible(int port, boolean status) {
-		switch (port) {
-			case 0:
-				portPane0.setVisible(status);
-				break;
-			case 1:
-				portPane1.setVisible(status);
-				break;
-			case 2:
-				portPane2.setVisible(status);
-				break;
-			case 3:
-				portPane3.setVisible(status);
-				break;
-			case 4:
-				portPane4.setVisible(status);
-				break;
-			case 5:
-				portPane5.setVisible(status);
-				break;
-			case 6:
-				portPane6.setVisible(status);
-				break;
-			case 7:
-				portPane7.setVisible(status);
-				break;
-			case 8:
-				portPane8.setVisible(status);
-				break;
-			case 9:
-				portPane9.setVisible(status);
-				break;
-			default:
-
-				break;
+	private void myToggleButtons() {
+		// this.codierer.setzeSteckbrett()
+		if (chkBoxGridPane != null) {
+			for (ChkBoxGridPane boxGridPane : chkBoxGridPane) {
+				anchorPane.getChildren().remove(boxGridPane);
+			}
 		}
-	}
+		chkBoxGridPane = new ChkBoxGridPane[10];
 
-	/**
-	 * TODO: Doku
-	 */
-	private void myToggleButtons() {
 		final ToggleGroup cabelConnect = new ToggleGroup();
 		tBtnPort = new ToggleButton[10];
-		for (int i = 0; i < 10; i++) {
-			tBtnPort[i] = new ToggleButton(i + "Port");
-			tBtnPort[i].setAlignment(Pos.CENTER_RIGHT);
+
+		for (int i = 0; i < chkBoxGridPane.length; i++) {
+			char[] verfuegbareBuchstaben = this.codierer.fetchVerfuegbareBuchstaben(i).toCharArray();
+			char[] checkedBuchstaben = {
+					this.codierer.fetchSteckverbindungen()[i][0],
+					this.codierer.fetchSteckverbindungen()[i][1]
+			};
+			Arrays.sort(verfuegbareBuchstaben);
+
+			chkBoxGridPane[i] = new ChkBoxGridPane(verfuegbareBuchstaben);
+			chkBoxGridPane[i].setVisible(false);
+			chkBoxGridPane[i].setStyle("-fx-background-color: white; -fx-border-color: black;");
+			chkBoxGridPane[i].setPrefHeight(chkBoxGridPane[i].getCharSize() * 20);
+			chkBoxGridPane[i].setPrefWidth(85.0);
+			chkBoxGridPane[i].setPadding(new Insets(10, 10, 10, 10));
+			chkBoxGridPane[i].setAlignment(Pos.CENTER);
+
+			tBtnPort[i] = new ToggleButton(checkedBuchstaben[0] + "" + checkedBuchstaben[1]);
 			tBtnPort[i].setToggleGroup(cabelConnect);
-			GridPane.setMargin(tBtnPort[i], new Insets(0, 15, 0, 15));
+			GridPane.setHalignment(tBtnPort[i], HPos.CENTER);
+
 			mainGrid.add(tBtnPort[i], i + 1, 8);
+			chkBoxGridPane[i].setLayoutX(
+					(anchorPane.getWidth() / 12) * (i + 1) -
+							((chkBoxGridPane[i].getPrefWidth() - anchorPane.getWidth() / 12) / 2));
+			chkBoxGridPane[i].setLayoutY(
+					mainGrid.getLayoutY() + ((anchorPane.getHeight() -
+							mainGrid.getLayoutY()) / 10 * 9) - chkBoxGridPane[i].getPrefHeight() - 15);
+			new Fehler().debug(
+					"mg LayoutY " + mainGrid.getLayoutY() +
+							" mg Height " + mainGrid.getHeight() +
+							" chkbox Height " + chkBoxGridPane[i].getHeight() +
+							" AP Height " + anchorPane.getHeight(),
+					false);
+			anchorPane.getChildren().add(chkBoxGridPane[i]);
 
 			cabelConnect.selectedToggleProperty().
 					addListener((observable, oldValue, newValue) -> {
 						//TODO
 						for (int j = 0; j < 10; j++) {
 							if (cabelConnect.getSelectedToggle() == tBtnPort[j]) {
-								switchPortVisible(j, true);
+								chkBoxGridPane[j].setVisible(true);
 							} else if (cabelConnect.getSelectedToggle() != tBtnPort[j]) {
-								switchPortVisible(j, false);
+								chkBoxGridPane[j].setVisible(false);
 							}
 						}
 					});
@@ -514,45 +495,45 @@ public class GuiController {
 			this.codierer.setzeWalzenPosition(2, mItm.getText().charAt(0));
 		}
 		if (mBtn.getId().equals(mBtnWalzPos1.getId())) {
-            setzeWalze(1, mItm.getText());
-            if (!mBtnWalzPos1.getText().equals(mBtnWalzPos2.getText()) &&
-                    !mBtnWalzPos1.getText().equals(mBtnWalzPos3.getText())) {
+			setzeWalze(1, mItm.getText());
+			if (!mBtnWalzPos1.getText().equals(mBtnWalzPos2.getText()) &&
+					!mBtnWalzPos1.getText().equals(mBtnWalzPos3.getText())) {
 				this.codierer.setzeWalzeNr(0,
-                        convertRoemischToZahl(mItm.getText()) + 1,
-                        mBtnNotchPos1.getText().charAt(0));
+						convertRoemischToZahl(mItm.getText()) + 1,
+						mBtnNotchPos1.getText().charAt(0));
 			} else {
 				setzeWalze(1, convertZahlToRoemisch(this.codierer.fetchWalzenNr(0)));
 				new Fehler().showErrorDialog("error",
-                        "Walze nicht gefunden",
-                        "Es scheint so das wir von jeder Walze nur eine da haben");
+						"Walze nicht gefunden",
+						"Es scheint so das wir von jeder Walze nur eine da haben");
 			}
 		}
 		if (mBtn.getId().equals(mBtnWalzPos2.getId())) {
-            setzeWalze(2, mItm.getText());
-            if (!mBtnWalzPos1.getText().equals(mBtnWalzPos2.getText()) &&
-                    !mBtnWalzPos2.getText().equals(mBtnWalzPos3.getText())) {
+			setzeWalze(2, mItm.getText());
+			if (!mBtnWalzPos1.getText().equals(mBtnWalzPos2.getText()) &&
+					!mBtnWalzPos2.getText().equals(mBtnWalzPos3.getText())) {
 				this.codierer.setzeWalzeNr(1,
-                        convertRoemischToZahl(mItm.getText()) + 1,
-                        mBtnNotchPos2.getText().charAt(0));
+						convertRoemischToZahl(mItm.getText()) + 1,
+						mBtnNotchPos2.getText().charAt(0));
 			} else {
 				setzeWalze(2, convertZahlToRoemisch(this.codierer.fetchWalzenNr(1)));
 				new Fehler().showErrorDialog("error",
-                        "Walze nicht gefunden",
-                        "Es scheint so das wir von jeder Walze nur eine da haben");
+						"Walze nicht gefunden",
+						"Es scheint so das wir von jeder Walze nur eine da haben");
 			}
 		}
 		if (mBtn.getId().equals(mBtnWalzPos3.getId())) {
-            setzeWalze(3, mItm.getText());
-            if (!mBtnWalzPos1.getText().equals(mBtnWalzPos3.getText()) &&
-                    !mBtnWalzPos2.getText().equals(mBtnWalzPos3.getText())) {
+			setzeWalze(3, mItm.getText());
+			if (!mBtnWalzPos1.getText().equals(mBtnWalzPos3.getText()) &&
+					!mBtnWalzPos2.getText().equals(mBtnWalzPos3.getText())) {
 				this.codierer.setzeWalzeNr(2,
-                        convertRoemischToZahl(mItm.getText()) + 1,
-                        mBtnNotchPos3.getText().charAt(0));
+						convertRoemischToZahl(mItm.getText()) + 1,
+						mBtnNotchPos3.getText().charAt(0));
 			} else {
 				setzeWalze(3, convertZahlToRoemisch(this.codierer.fetchWalzenNr(2)));
 				new Fehler().showErrorDialog("error",
-                        "Walze nicht gefunden",
-                        "Es scheint so das wir von jeder Walze nur eine da haben");
+						"Walze nicht gefunden",
+						"Es scheint so das wir von jeder Walze nur eine da haben");
 			}
 		}
 		if (mBtn.getId().equals(mBtnNotchPos1.getId())) {
@@ -571,17 +552,6 @@ public class GuiController {
 		tfKlartext.setText("");
 	}
 
-	/**
-	 * Hier werden die TextFelder der ToggelButtons gesetzt, welche die Steckverbindungen darstellen,
-	 * mit den Werten die von der Klasse Codierer zur Verfügung gestellt werden.
-	 */
-	private void setzeSteckverbindungen() {
-		for (int i = 0; i <= 9; i++) {
-			tBtnPort[i].setText(codierer.fetchSteckverbindungen()[i][0] + ""
-					+ codierer.fetchSteckverbindungen()[i][1]);
-		}
-	}
-
 	/**
 	 * Die Löschen Funktion löscht das letzte Zeichen im Klartext sowie im Codiert Feld,
 	 * der Codierer wird aufgerufen um ebenfalls das letzte Zeichen zu löschen
@@ -903,10 +873,12 @@ public class GuiController {
 		mBtnStartPos3.setText(String.valueOf(codierer.fetchWalzen()[2]));
 
 		// Steckbrett Felder setzen
-		setzeSteckverbindungen();
+		//setzeSteckverbindungen();
+
+		myToggleButtons();
 
 		// Setzt das Steckbrett
-		generateSteckbrett();
+		//generateSteckbrett();
 
 		// Felder zurück setzen
 		this.textCodiert = "";
@@ -935,7 +907,7 @@ public class GuiController {
 
 		// Einstellungen aus dem Logbuch auslesen und setzen
 		setzeTagesSchluessel();
-		setzeSteckverbindungen();
+		//setzeSteckverbindungen();
 	}
 
 	private enum BUCHSTABE_LEUCHTET {AN, AUS}
diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java
index 913b8db6d6cbfef4bed7c7b7f25448d0a112f431..87f4bff9b5cf866d1f192af0fdc8d94830ab8530 100644
--- a/src/main/java/projekt/enigma/model/Codierer.java
+++ b/src/main/java/projekt/enigma/model/Codierer.java
@@ -279,7 +279,6 @@ public class Codierer {
 
 
 	/**
-	 * TODO: Wird nicht benutzt
 	 * Setzt das Kabel in beide Ports ein und fuegt es dem Steckbrett-Array hinzu.
 	 *
 	 * @param port       : int : Kabel Nummer, welches am Steckbrett eingesteckt wird.
@@ -457,19 +456,6 @@ public class Codierer {
 
 	//region Sonstige
 
-	/**
-	 * TODO: Wird nicht benutzt
-	 * Prueft ob der Port auf dem das Kabel gesteckt werden soll, noch frei ist.
-	 * <p>
-	 * setSteckbrett ausfuehren mit beiden Buchstaben als String.
-	 *
-	 * @param buchstabe : char : Der zuletzt eingegebene Buchstabe.
-	 * @return boolean : Wenn der Buchstabe nicht vorhanden ist, wird true zurueckgegeben, ansonsten false.
-	 */
-	public boolean pruefeSteckbrettPort(char buchstabe) {
-		return this.hardware.getSteckbrett().ueberpruefeVertauschungen(buchstabe);
-	}
-
 	/**
 	 * Liest aus der empfangenen Nachricht den Spruchschluessel aus und gibt ihn zurueck.
 	 *
@@ -490,6 +476,7 @@ public class Codierer {
 		this.nachricht = this.nachricht.substring(0, this.nachricht.length() - 1);
 	}
 	//endregion
+
 	//endregion
 
 	//region Getter
diff --git a/src/main/java/projekt/enigma/model/Hardware.java b/src/main/java/projekt/enigma/model/Hardware.java
index 80bedb3ea116b12a71a930b5b4e2c389a8f0fbf6..b43e18b909a9b55609e320c36ae356b901e1df51 100644
--- a/src/main/java/projekt/enigma/model/Hardware.java
+++ b/src/main/java/projekt/enigma/model/Hardware.java
@@ -15,24 +15,24 @@ package projekt.enigma.model;
  */
 public class Hardware {
 
-    //region Variablen
-    /**
-     * walzen: Walze-Array: erzeugt ein privates Array mit der die Anzahl der Walzen festgelegt wird.
-     */
-    private Walze[] walzen;
+	//region Variablen
+	/**
+	 * walzen: Walze-Array: erzeugt ein privates Array mit der die Anzahl der Walzen festgelegt wird.
+	 */
+	private Walze[] walzen;
 
-    /**
-     * steckbrett: Steckbrett: erzeugt ein privates Steckbrett-Objekt
-     */
-    private Steckbrett steckbrett;
+	/**
+	 * steckbrett: Steckbrett: erzeugt ein privates Steckbrett-Objekt
+	 */
+	private Steckbrett steckbrett;
 
-    /**
-     * reflektor: Reflektor: erzeugt ein privates Reflektor-Objekt.
-     */
-    private Reflektor reflektor;
-    //endregion
+	/**
+	 * reflektor: Reflektor: erzeugt ein privates Reflektor-Objekt.
+	 */
+	private Reflektor reflektor;
+	//endregion
 
-    //region Konstruktor
+	//region Konstruktor
 
     /**
      * Im Konstruktor legen wir die Anzahl der Walzen fest, welche die Hardware aufnehmen kann.
@@ -43,7 +43,7 @@ public class Hardware {
     }
     //endregion
 
-    //region Funktionen & Methoden
+	//region Funktionen & Methoden
 
     /**
      * Setzt eine Walze ein.
@@ -94,7 +94,7 @@ public class Hardware {
                 this.walzen[2].getPosition());
         debug += "\nI\tS\t3\t2\t1\tR\t1\t2\t3\tS\n" + buchstabe;
 
-        this.dreheWalzen(1);
+		this.dreheWalzen(1);
 
         //Codiere Vorgang wird fuer jede Walze bis zum Reflektor mit der codiere Funktion durchgefuehrt.
         //Auf dem Rueckweg wird mit der codiere2 Funktion codiert.
@@ -118,8 +118,8 @@ public class Hardware {
         debug += "\t" + buchstabe;
         new Fehler().debug(debug, false);
 
-        return buchstabe;
-    }
+		return buchstabe;
+	}
 
     /**
      * Nach jeder Codierung eines Buchstabens muessen die Walzen gedreht werden.
@@ -148,7 +148,7 @@ public class Hardware {
     }
     //endregion
 
-    //region Setter
+	//region Setter
 
     /**
      * Setzt eine Walze ein und speichert das Objekt im Walzen Array.
@@ -180,7 +180,7 @@ public class Hardware {
     }
     //endregion
 
-    //region Getter
+	//region Getter
 
     /**
      * Setzt den Reflektor ein.
diff --git a/src/main/java/projekt/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java
index 52ddcebfe16f2803dccbb98733b60a913db2dda7..46eafd21b7002875f91a349f83b1eaf6aa4d8c66 100644
--- a/src/main/java/projekt/enigma/model/Walze.java
+++ b/src/main/java/projekt/enigma/model/Walze.java
@@ -81,7 +81,7 @@ public class Walze {
 		if ((richtung == -1) || (richtung == 1)) {
 			if (richtung == 1) {
 				this.turns++;
-			} else if (richtung == -1) {
+			} else {
 				korrekturFaktor = 1;
 				this.turns--;
 			}
diff --git a/src/main/java/projekt/enigma/view/ChkBoxGridPane.java b/src/main/java/projekt/enigma/view/ChkBoxGridPane.java
index 61db71fcce93ee6151a2f8825cffd2a357be3ee5..6b762fa9c4fe24de551ec84e8c514cdbefad051e 100644
--- a/src/main/java/projekt/enigma/view/ChkBoxGridPane.java
+++ b/src/main/java/projekt/enigma/view/ChkBoxGridPane.java
@@ -1,19 +1,24 @@
 package projekt.enigma.view;
 
+import javafx.geometry.Pos;
 import javafx.scene.control.CheckBox;
-import javafx.scene.control.ContentDisplay;
-import javafx.scene.control.Label;
 import javafx.scene.layout.GridPane;
 
+/**
+ * TODO: Doku
+ */
 public class ChkBoxGridPane extends GridPane {
-	/*private static JPanel panel = new JPanel();*/
-	private static CheckBox[] checkbox;
-	private static Character[] alphabet;/* = {'A','B','C','D'};*/
-	private static int charSize;
+	private CheckBox[] checkbox;
+	private char[] alphabet;
+	private int charSize;
 
-	public ChkBoxGridPane(Character[] alphabet) {
+	/**
+	 * TODO: Doku
+	 * @param alphabet
+	 */
+	public ChkBoxGridPane(char[] alphabet) {
 		charSize = alphabet.length;
-		ChkBoxGridPane.alphabet = alphabet;
+		this.alphabet = alphabet;
 		initializeComponents();
 	}
 
@@ -24,25 +29,13 @@ public class ChkBoxGridPane extends GridPane {
 	 */
 	private void initializeComponents() {
 		checkbox = new CheckBox[charSize];
+		this.setAlignment(Pos.CENTER);
 
-		/*
-		 * => bei ungerader Anzahl Buchstaben
-		 * CheckBox und deren Label erzeugen,  bei geraden Index Zahlen
-		 * das Label rechts setzen bei ungeraden links
-		 * => bei gerader Anzahl Buchstaben
-		 * CheckBox und deren Label erzeugen,  bei geraden Index Zahlen
-		 * das Label rechts setzen bei ungeraden links
-		 */
-		for (int i = 0; i < charSize; i++) {
-			Label lb = new Label(alphabet[i] + "");
-			lb.setGraphic(checkbox[i] = new CheckBox());
-			if (i % 2 == 0) lb.setContentDisplay(ContentDisplay.RIGHT);
-			else if (!(i % 2 == 0)) lb.setContentDisplay(ContentDisplay.LEFT);
-			if (!(charSize % 2 == 0)) {
-				this.add(checkbox[i], 2, (charSize + 1) / 2);
-			} else {
-				this.add(checkbox[i], 2, (charSize / 2));
-			}
+		for (int i = 0; i < alphabet.length; i++) {
+			checkbox[i] = new CheckBox(alphabet[i] + "");
+
+			this.addRow(i + 1);
+			this.add(checkbox[i], 2, i + 1, 1, 1);
 			//if (i==0)checkbox[0].setSelected(true);
 		}
 		this.setVisible(true);
@@ -64,5 +57,13 @@ public class ChkBoxGridPane extends GridPane {
 		}
 		return null;
 	}
+
+	/**
+	 * TODO: Doku
+	 * @return
+	 */
+	public int getCharSize() {
+		return charSize;
+	}
 }
 
diff --git a/src/main/resources/projekt/enigma/gui.fxml b/src/main/resources/projekt/enigma/gui.fxml
index 112562e09592f1df01b708792a700174697fdab3..2fb0e1dd7cd965f66218918d708e51b6990fda7f 100644
--- a/src/main/resources/projekt/enigma/gui.fxml
+++ b/src/main/resources/projekt/enigma/gui.fxml
@@ -1,20 +1,12 @@
 <?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.MenuButton?>
-<?import javafx.scene.control.ProgressIndicator?>
-<?import javafx.scene.control.TextField?>
-<?import javafx.scene.layout.AnchorPane?>
-<?import javafx.scene.layout.ColumnConstraints?>
-<?import javafx.scene.layout.GridPane?>
-<?import javafx.scene.layout.Pane?>
-<?import javafx.scene.layout.RowConstraints?>
-<?import javafx.scene.shape.Circle?>
-<?import javafx.scene.text.Font?>
+<?import javafx.geometry.*?>
+<?import javafx.scene.control.*?>
+<?import javafx.scene.layout.*?>
+<?import javafx.scene.shape.*?>
+<?import javafx.scene.text.*?>
 
-<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="677.0" prefWidth="962.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projekt.enigma.GuiController">
+<AnchorPane fx:id="anchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="677.0" prefWidth="962.0" xmlns="http://javafx.com/javafx/10.0.2-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projekt.enigma.GuiController">
     <GridPane layoutX="23.0" layoutY="60.0" prefHeight="158.0" prefWidth="237.0" AnchorPane.leftAnchor="23.0" AnchorPane.topAnchor="60.0">
         <columnConstraints>
             <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
@@ -62,7 +54,7 @@
         <Label fx:id="lblSpruchschluessel" prefHeight="17.0" prefWidth="181.0" GridPane.columnIndex="1" />
         <Button fx:id="btnReset" mnemonicParsing="false" onAction="#gedrueckteTaste" text="Zurücksetzen" GridPane.rowIndex="1" />
     </GridPane>
-    <GridPane fx:id="mainGrid" layoutX="6.0" layoutY="294.0" prefHeight="377.0" prefWidth="952.0" AnchorPane.bottomAnchor="6.0" AnchorPane.leftAnchor="6.0" AnchorPane.rightAnchor="9.0" AnchorPane.topAnchor="294.0">
+    <GridPane fx:id="mainGrid" layoutX="6.0" layoutY="294.0" prefHeight="377.0" prefWidth="952.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="300.0">
         <columnConstraints>
             <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
             <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
@@ -583,38 +575,8 @@
                 <Insets left="42.0" />
             </GridPane.margin>
         </Label>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="7">
-            <Pane fx:id="portPane0" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowIndex="7">
-            <Pane fx:id="portPane1" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="3" GridPane.rowIndex="7">
-            <Pane fx:id="portPane2" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="4" GridPane.rowIndex="7">
-            <Pane fx:id="portPane3" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="5" GridPane.rowIndex="7">
-            <Pane fx:id="portPane4" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="6" GridPane.rowIndex="7">
-            <Pane fx:id="portPane5" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="7" GridPane.rowIndex="7">
-            <Pane fx:id="portPane6" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="8" GridPane.rowIndex="7">
-            <Pane fx:id="portPane7" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="9" GridPane.rowIndex="7">
-            <Pane fx:id="portPane8" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
-        <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="10" GridPane.rowIndex="7">
-            <Pane fx:id="portPane9" layoutX="-8.0" layoutY="-307.0" prefHeight="350.0" prefWidth="85.0" style="-fx-background-color: lightgrey;" visible="false" />
-        </Pane>
     </GridPane>
-    <GridPane layoutX="297.0" layoutY="64.0" prefHeight="168.0" prefWidth="585.0" AnchorPane.leftAnchor="297.0" AnchorPane.rightAnchor="80.0" AnchorPane.topAnchor="64.0">
+    <GridPane layoutX="297.0" layoutY="64.0" prefHeight="168.0" prefWidth="585.0">
         <columnConstraints>
             <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
             <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
@@ -640,7 +602,7 @@
             </GridPane.margin>
         </Button>
     </GridPane>
-    <Label fx:id="lblKenngruppe" layoutX="682.0" layoutY="34.0" prefHeight="17.0" prefWidth="177.0" AnchorPane.leftAnchor="682.0" AnchorPane.rightAnchor="103.0" AnchorPane.topAnchor="34.0" />
+    <Label fx:id="lblKenngruppe" layoutX="682.0" layoutY="34.0" prefHeight="17.0" prefWidth="177.0" />
     <Pane layoutX="266.0" layoutY="194.0" prefHeight="200.0" prefWidth="354.0" style="-fx-background-color: white; -fx-border-color: black;" visible="false">
         <ProgressIndicator layoutX="127.0" layoutY="70.0" prefHeight="99.0" prefWidth="101.0" />
         <Label layoutX="79.0" layoutY="27.0" text="Kommunikation mit Funkraum...">