diff --git a/Praesentation/praesentation.md b/Praesentation/praesentation.md
index 060ff4ebda60fb51e2f4589913fe3dcac68ff832..12d0640b3b82da13e50f9b2fb5d5a2400a198c60 100644
--- a/Praesentation/praesentation.md
+++ b/Praesentation/praesentation.md
@@ -24,4 +24,82 @@
 
 ![alt text](Folie13.PNG "Präsentation Folie 13")
 
-![alt text](Folie14.PNG "Präsentation Folie 14")
\ No newline at end of file
+![alt text](Folie14.PNG "Präsentation Folie 14")
+
+## Der Begin einer Reise
+* [Anforderungskatalog und Planung](https://www.gitrepo.de/alfatrainingkurse/java/enigma/wikis/Anforderungskatalog)
+
+## Ablauf des Projektes
+* Wie wurde gearbeitet
+  * gitrepo.de 
+    * Git
+    * Tickets
+    * Pipelines
+* Welche Probleme sind aufgetreten
+* Besondere (für uns) Lösungen
+
+### Kurze GIT Einführnug
+* Was ist Git?
+  * Repository
+  * Fork
+  * Funktionen
+    * Commit
+    * Push
+    * Pull
+
+### Zahlen, Daten, Fakten
+* Zeilen insgesamt: 3113
+  * Davon Code: 1596 (51%)
+  * Davon Kommentare: 1120 (36%)
+  * Leerzeilen: 397 (13%)
+
+## Klassendiagram
+![Ablaufdiagram Enigma](http://plantuml.gitrepo.de/png/U9oTM4jpspOGlkjNuDPsLEhGeoRJIMCdxKoir6DvcawJZ0SYLn8Y4601q4wTnh-z2v82IJmerJv8z7wB3yjzOQ6Nsb1bwfBFPeOP3kJkRlNxvUkhxpIvu5HhSideJj7oxkwZcCq84RG4NT4SIANaPpYO1GYsAodvYk0GBcK1l9CIaZTSuoMBHcLnWP-REjyxNVkN4SN4JXlWl1OxiYHCc0-VHWe8veTxK1icYbOdtrFruPEdPcYtV2HzeFmH1ASxY73FoT6cxtyOYRTWylqjBj8wt_CQlu1xAZimDmFBGtGzDZjKGFvG-DxPws56herrrKZyH7J8arbXqhO6dRAjKOYOyMrsLeWPA51UY0yWn4xLLMM3qBx621SqtokMxqqSrfN24FMHE4-hjILAsSIzCTHpSjwApv92MMsfsC6xe_49N81QUwR5icqYcHhS2nc8c58RjZJopd_XnZngu8I5c9XlNGn3BEK2MmNJn1pCem7z5-1g45SIjFtsb902jj0uOAF0c6kf_9qKODB-HbNnG8D0DLZAH0sYI8PGJxmsOezmunTa9-zjZQ5DB9A05wEC511Bm84yqXWo5zctijfw41FCCCgPjekZJiEkJ4KXorSsTePk_byNU5EBWw9rEUe2JwuWBDmMQz3BC1OHz9mzZw_XTPws_MCFQ5phDVz4liJBlL2mXsXzsPC0jXnDac5vcMGgk6OVIzSeejCRwOcD9kWUuLfgJ0OPnLBP7VIISmAqaahRXFKZP4KhMc68RXNOfnTjEl_OjUsVH_ixbY1c0dkZSVbwAqzeElXMXadUMeO1ce12_dEyuE8tyaAOS-TmzG7tN8hMqHeRgG5dluYVcLAn7HEKJ-lDIJAtuhNIPCaVwEN6ZF10EuNNi07LTlsXrY23p_5FawQUQoYlzlYQYK736qNjc3aUCMibT7B8T9pUOFhGbKkmS4vY9y7a3F9JiYk5tILTscbaOWfnRIGueFe1On2V_hE_AXGKSungcBuj7BKMbtXyYGqLX_NVd1dmIWRVC3gzsvOY1EGcQanqnr-gQa3-5Il1iFoRdIbpF4LjNErtg30d9ML3BwANx2rh876wpQX-8sKKp0YNj7Zpv-ggGoUC_RLc5r8O9JaV3TfTMJMtbdLitZfn0Z-vkM2KJBQT55YA-S4WD-R62EDGspuZni9mZCj82Q8U2LAdVNS3MQ7-AoDkuOlnePWiUf9bqNCi6yneYO4w2mUrYOZqCs8qC4ZsmEnzKbuhLbBrpsd65QPLB2D72MVNDtsmfNWF6mtgdkNGBapVKER4de30k8SqP35BNloRrLL6FjDxklsoe5N5MKwjhstb79_3jRQikgKHrb0_wiSu0LA7wyUL4LyOsoDaycwpCWjul9yqbj6V34BYP6yxPuj1ntk-oMvGNf9zzvWYSwf9idwSMPAa6q_J32QP9T6RvnErH_woEt9FPSYKpriluWpmV4-xQn0cH_UO8dEgIR9-V5wICcbKhsM9-evWNUB-cSrUOkkrlmJ-1wA6sF40 "Ablaufdiagram der Enigma")
+
+## Interesannte Codestellen
+* Walze:
+  * [Konstruktor](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/model/Walze.java#L53)
+* Steckbrett
+  * [setzeVertauschung](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/model/Steckbrett.java#L52)
+  * [ueberpruefeVertauschung](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/model/Steckbrett.java#L104)
+* Codebuch
+  * [Konstruktor](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/model/Codebuch.java#L59)
+  * [fetchTagesschluessel](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/model/Codebuch.java#L81)
+* Funkraum
+  * [empfangeFunkspruch](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/model/Funkraum.java#L38)
+  * [sendeFunkspruch](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/model/Funkraum.java#L90)
+* Morsecode
+  * [Konstruktor](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/model/Morsecode.java#L18)
+  * [convertBuchstabeToMorsecode](`convertBuchstabeToMorsecode`)
+* DatenbankSqlite
+  * [getCodebuch](https://www.gitrepo.de/alfatrainingkurse/java/enigma/blob/master/src/main/java/projekt/enigma/database/DatenbankSqlite.java#L54)
+* Zusammenfassung codiere
+  * [Codiere Funktion](https://www.gitrepo.de/alfatrainingkurse/java/enigma/snippets/12)
+
+### Ablauf der Codierung
+![Ablaufdiagram Codierung](http://plantuml.gitrepo.de/png/U9o5aR4EWZ0GXlS-HHCNwA01Drmm3kegCGx6eT0J21NCSOJ4frTeD35feTCbttVNQ_-u9OdKFJGR2nO9iMjK2GWy8IphN8WDwujI0_T-28LOPgRqZENxZFF8AcI5H7zby46YwYM23I-su_ct54815wbVK7lV8Gb1LgK8H8vRZ2_4DRXDyt26h-ty17SD5JMkLrhwmxa574BW4AR-06h5nyJOaER-VEJRhirb2aEKBJLF5d-K8V8tFTUTQm00 "Ablaufdiagram Codierung")
+
+### Erklärung Datentyp char - String - Enum
+* Zuerst char[]
+* Dann String
+* Vorteile Enum
+
+## Die GUI der Enigma (Elemente, etc)
+* Besondere GUI Elemente
+* ControlsFX (ProgressDialog)
+
+## GUI Controller
+
+## Demo der Enigma
+* Kenngruppe Abfrage
+  * Testen Kenngruppe Dialog und Fehler
+* Enigma
+  * Setzen von Walzen
+  * Setzen von Ringen
+  * Setzen von Startpunkten
+  * Zurücksetzen
+  * Tagesschlüssel
+  * Verschlüsseln von Nachrichten
+  * Senden von Nachrichten
+  * Abrufen und entschlüsseln von Nachrichten
+  * Setzen einer anderen Kenngruppe und zeigen was passiert wenn man dann Nachrichten abrufen möchte
diff --git a/src/main/java/projekt/enigma/App.java b/src/main/java/projekt/enigma/App.java
index 03f9260b62accc6a2544ef476fa58c3fb9082b91..2d5dcb1e0061b4fd3cc5bff24bd5cba1c97a55e8 100644
--- a/src/main/java/projekt/enigma/App.java
+++ b/src/main/java/projekt/enigma/App.java
@@ -2,10 +2,9 @@ package projekt.enigma;
 
 import javafx.application.Application;
 import javafx.fxml.FXMLLoader;
+import javafx.geometry.Insets;
 import javafx.scene.Scene;
-import javafx.scene.control.Button;
-import javafx.scene.control.Label;
-import javafx.scene.control.TextField;
+import javafx.scene.control.*;
 import javafx.scene.input.KeyCode;
 import javafx.scene.layout.VBox;
 import javafx.stage.Stage;
@@ -20,86 +19,80 @@ import java.io.IOException;
  */
 public class App extends Application {
 
-	private static String kenngruppe;
-	private static GuiController gc;
-	private static int debug;
-
-	public static void main(String[] args) {
-		debug = 1;
-		launch(args);
-	}
-
-	public static int getDebug() {
-		return debug;
-	}
-
-	@Override
-	public void start(Stage primaryStage) throws IOException {
-
-		primaryStage.setTitle("Kenngruppenabfrage");
-
-		Label label1 = new Label("Bitte Kenngruppe eingeben!");
-		label1.setTranslateX(55);
-		Label l1 = new Label("");
-		Label l2 = new Label("");
-		TextField tfield = new TextField();
-		Button button1 = new Button("Kenngruppe setzen!");
-		VBox layout1 = new VBox();
-
-		layout1.getChildren().addAll(label1, l1, tfield, l2, button1);
-		Scene sceKenngruppe = new Scene(layout1, 234, 137);
-
-		FXMLLoader guiLoader = new FXMLLoader(App.class.getResource("gui.fxml"));
-
-		Scene sceApp = new Scene(guiLoader.load(), 962, 677);
-
-		tfield.setOnKeyPressed(e -> {
-			if (e.getCode() == KeyCode.ENTER) {
-				if (enter(tfield.getText())) {
-					gc = guiLoader.getController();
-					gc.setKenngruppe(tfield.getText());
-					primaryStage.setScene(sceApp);
-				} else {
-					tfield.setText("");
-					new Fehler().showErrorDialog("error", "Kenngruppe falsch",
-							"Regeln für die Kenngruppe: 4-8 Zeichen sowie nur Buchstaben von A-Z.");
-				}
-			}
-		});
-
-		button1.setOnAction(e -> {
-			if (enter(tfield.getText())) {
-				gc = guiLoader.getController();
-				gc.setKenngruppe(tfield.getText());
-				primaryStage.setScene(sceApp);
-			} else {
-				tfield.setText("");
-				new Fehler().showErrorDialog("error", "Kenngruppe falsch",
-						"Regeln für die Kenngruppe: 4-8 Zeichen sowie Buchstaben von A-Z.");
-			}
-		});
-
-		primaryStage.setScene(sceKenngruppe);
-		primaryStage.show();
-	}
-
-	private boolean enter(String kenngruppe) {
-
-		String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-		boolean result = true;
-
-		for (char c : kenngruppe.toUpperCase().toCharArray()) {
-			if (!alphabet.contains(String.valueOf(c))) {
-				result = false;
-				break;
-			}
-		}
-		if (kenngruppe.length() > 8 || kenngruppe.length() < 4) {
-			result = false;
-		}
-
-		return result;
-	}
+    private static GuiController gc;
+    private static int debug;
+
+    public static void main(String[] args) {
+        debug = 1;
+        launch(args);
+    }
+
+    public static int getDebug() {
+        return debug;
+    }
+
+    @Override
+    public void start(Stage primaryStage) throws IOException {
+        primaryStage.setTitle("Enigma");
+        Label lblEingbae = new Label("Bitte Kenngruppe eingeben!");
+        TextField tfEingabe = new TextField();
+        Button btnKenngruppe = new Button("Kenngruppe setzen!");
+        VBox layout = new VBox();
+        layout.setSpacing(30);
+        layout.setPadding(new Insets(30, 30, 30, 30));
+        btnKenngruppe.setMaxWidth(Double.MAX_VALUE);
+
+        layout.getChildren().addAll(lblEingbae, tfEingabe, btnKenngruppe);
+        Scene sceKenngruppe = new Scene(layout);
+
+        FXMLLoader guiLoader = new FXMLLoader(App.class.getResource("gui.fxml"));
+        Scene sceApp = new Scene(guiLoader.load(), 962, 677);
+
+        tfEingabe.setOnKeyPressed(e -> {
+            if (e.getCode() == KeyCode.ENTER) {
+                if (enter(tfEingabe.getText())) {
+                    gc = guiLoader.getController();
+                    gc.setKenngruppe(tfEingabe.getText());
+                    primaryStage.setScene(sceApp);
+                } else {
+                    tfEingabe.setText("");
+                    new Fehler().showErrorDialog("error", "Kenngruppe falsch",
+                            "Regeln für die Kenngruppe: 4-8 Zeichen sowie nur Buchstaben von A-Z.");
+                }
+            }
+        });
+        btnKenngruppe.setOnAction(e -> {
+            if (enter(tfEingabe.getText())) {
+                gc = guiLoader.getController();
+                gc.setKenngruppe(tfEingabe.getText());
+                primaryStage.setScene(sceApp);
+            } else {
+                tfEingabe.setText("");
+                new Fehler().showErrorDialog("error", "Kenngruppe falsch",
+                        "Regeln für die Kenngruppe: 4-8 Zeichen sowie Buchstaben von A-Z.");
+            }
+        });
+        primaryStage.setScene(sceKenngruppe);
+        primaryStage.show();
+    }
+
+    private boolean enter(String kenngruppe) {
+
+        String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+        boolean result = true;
+
+        for (char c : kenngruppe.toUpperCase().toCharArray()) {
+            if (!alphabet.contains(String.valueOf(c))) {
+                result = false;
+                break;
+            }
+        }
+        if (kenngruppe.length() > 8 || kenngruppe.length() < 4) {
+            result = false;
+        }
+
+        return result;
+    }
 
 //	/**
 //	 * TODO Dokumentieren
diff --git a/src/main/java/projekt/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java
index 024e2aa1a5327278b7f1daa5dac52e6c8d17762c..461f0f06da8fd972df6de8fa7c031b4976ca253f 100644
--- a/src/main/java/projekt/enigma/GuiController.java
+++ b/src/main/java/projekt/enigma/GuiController.java
@@ -12,6 +12,7 @@ import javafx.scene.control.MenuItem;
 import javafx.scene.control.TextField;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.layout.GridPane;
+import javafx.scene.layout.Pane;
 import javafx.scene.shape.Circle;
 import javafx.stage.StageStyle;
 import org.apache.http.HttpException;
@@ -37,10 +38,8 @@ public class GuiController {
     private Codierer codierer;
     private char chiffrierterBuchstabe;
     private String[] empfangeneNachricht;
-    //deklariert die benötigten Textfelder
-    @FXML
-    private TextField tfStecker1, tfStecker2, tfStecker3, tfStecker4, tfStecker5, tfStecker6, tfStecker7, tfStecker8,
-            tfStecker9, tfStecker10, tfCodiert, tfKlartext;
+    private static final String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+
 //endregion
 
     //region GUI-Elemente
@@ -48,7 +47,7 @@ public class GuiController {
     //deklariert die benötigten Buttons
     @FXML
     private Button btnA, btnB, btnC, btnD, btnE, btnF, btnG, btnH, btnI, btnJ, btnK, btnL, btnM, btnN, btnO, btnP, btnQ,
-            btnR, btnS, btnT, btnU, btnV, btnW, btnX, btnY, btnZ, btnSenden, btnEmpfangen, btnDelete, btnReset;
+            btnR, btnS, btnT, btnU, btnV, btnW, btnX, btnY, btnZ, btnSenden, btnEmpfangen, btnDelete, btnReset, btnPort0;
     //deklariert die benötigten Kreise
     @FXML
     private Circle circA, circB, circC, circD, circE, circF, circG, circH, circI, circJ, circK, circL, circM, circN,
@@ -65,11 +64,18 @@ public class GuiController {
     @FXML
     private MenuButton mBtnWalzPos1, mBtnWalzPos2, mBtnWalzPos3, mBtnNotchPos1, mBtnNotchPos2, mBtnNotchPos3,
             mBtnStartPos1, mBtnStartPos2, mBtnStartPos3;
+    //deklariert die benötigten Textfelder
+    @FXML
+    private TextField tfStecker1, tfStecker2, tfStecker3, tfStecker4, tfStecker5, tfStecker6, tfStecker7, tfStecker8,
+            tfStecker9, tfStecker10, tfCodiert, tfKlartext;
+    //deklariert benötigte panes
+    @FXML
+    private Pane port0, port1, port2, port3, port4, port5, port6, port7, port8, port9;
 
+    //deklariert benötigtes GridPane
     @FXML
     private GridPane mainGrid;
 
-    private static final String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 
 //endregion
 
@@ -102,24 +108,24 @@ public class GuiController {
         menu(mBtnStartPos2, position);
     }
 
-    /**
+/*    *//**
      * 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.
      * Im Anschluss werden die CheckComboBoxen auf dem GridPane positioniert.
      *
      * @param port : int : Kabel Nummer (0-9)
-     */
+     *//*
     private void createSteckbrettPort(int port) {
 
         // Item Liste anlegen
@@ -133,10 +139,10 @@ public class GuiController {
 
         StringBuilder sb = new StringBuilder();
 
-        /**
+        *//**
          * Die Buchstaben in die CheckComboBox laden und zusätzlich in einen String um später den
          * Index des Buchstaben auslesen zu können
-         */
+         *//*
         for (char c : verfuegbareBuchstaben) {
             items.add(c);
             sb.append(c);
@@ -151,7 +157,7 @@ public class GuiController {
         // Die Gesteckten Buchstaben in der CheckComboBox selektieren
         ccb.getCheckModel().check(sb.toString().indexOf(this.codierer.fetchSteckverbindungen()[port][0]));
         ccb.getCheckModel().check(sb.toString().indexOf(this.codierer.fetchSteckverbindungen()[port][1]));
-    }
+    }*/
 
     /**
      * init Methode zur Erstellung der Einträge und Action Listener für die einzelnen Menüs
@@ -352,6 +358,9 @@ public class GuiController {
             this.resetDisplay = true;
             this.setzeTagesSchluessel();
         }
+        if (e.getSource()==btnPort0){
+            //TODO pane0 anzeigen
+        }
     }
     //endregion
 
@@ -631,7 +640,7 @@ public class GuiController {
                 walzeNr = 2;
                 break;
             case "IV":
-                walzeNr = 4;
+                walzeNr = 3;
                 break;
             case "V":
                 walzeNr = 4;
@@ -769,9 +778,8 @@ public class GuiController {
         // Steckbrett Felder setzen
 
         // Setzt das Steckbrett
-        generateSteckbrett();
+        //generateSteckbrett();
 
-        /*
         tfStecker1.setText(codierer.fetchSteckverbindungen()[0][0] + "" +
                 codierer.fetchSteckverbindungen()[0][1]);
         tfStecker2.setText(codierer.fetchSteckverbindungen()[1][0] + "" +
@@ -791,7 +799,7 @@ public class GuiController {
         tfStecker9.setText(codierer.fetchSteckverbindungen()[8][0] + "" +
                 codierer.fetchSteckverbindungen()[8][1]);
         tfStecker10.setText(codierer.fetchSteckverbindungen()[9][0] + "" +
-                codierer.fetchSteckverbindungen()[9][1]);*/
+                codierer.fetchSteckverbindungen()[9][1]);
         this.textCodiert = "";
         this.textEingabe = "";
         this.tfKlartext.setText("");
diff --git a/src/main/java/projekt/enigma/model/Codebuch.java b/src/main/java/projekt/enigma/model/Codebuch.java
index d2ab4a6bec190fb04459e49a5cd2d45093ce073a..b710a0a6ec7e524cbfc9df59adec6f1ea2eb1dfd 100644
--- a/src/main/java/projekt/enigma/model/Codebuch.java
+++ b/src/main/java/projekt/enigma/model/Codebuch.java
@@ -25,18 +25,17 @@ public class Codebuch {
 
 	//region Variablen
 	/**
-	 * TODO: Dokumentieren tag
-	 * tag : int : gibt den Tag an
+	 * tag : int : gibt den Tag eines Monats an
 	 */
 	private int tag;
 
 	/**
-	 * walzenlage : int[] : legt die Positionen der Walzen fest
+	 * walzenlage : int[] : legt die Positionen der drei Walzen fest
 	 */
 	private int[] walzenlage;
 
 	/**
-	 * ringstellung : int[] : TODO ringstellung: char || int ?
+	 * ringstellung : int[] : legt die Ringstellungen der drei Walzen fest
 	 */
 	private int[] ringstellung;
 
diff --git a/src/main/java/projekt/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java
index ce401e31527f9a557c8b505c0ed3cc7b8b6a67c9..8631af6186be26701d629893a62ba15d82c94ee0 100644
--- a/src/main/java/projekt/enigma/model/Codierer.java
+++ b/src/main/java/projekt/enigma/model/Codierer.java
@@ -46,7 +46,9 @@ public class Codierer {
      */
     private Codebuch codebuch;
 
-    //TODO Dokumentieren
+    /**
+     * Thread mit der Abfolge an Aufgaben des Funkraums.
+     */
     private Thread funk;
     //endregion
 
@@ -344,10 +346,10 @@ public class Codierer {
     }
 
     /**
-     * TODO: Doku
+     * Ueberprueft welche Buchstaben noch zur Vertauschung verfügbar sind
      *
-     * @param port
-     * @return
+     * @param port: Zahl zwischen 0-9: entspricht der Kabelnummer.
+     * @return String: liefert einen String mit den verfuegbaren Buchstaben zurueck.
      */
     public String fetchVerfuegbareBuchstaben(int port) {
         return this.hardware.getSteckbrett().fetchVerfuegbareBuchstaben(port);
diff --git a/src/main/java/projekt/enigma/model/Hardware.java b/src/main/java/projekt/enigma/model/Hardware.java
index f188a2c935d9c0f622502e1bd92a18a99a293727..0ddd8ed605bc771ee67247e6e3a3e39bd669add3 100644
--- a/src/main/java/projekt/enigma/model/Hardware.java
+++ b/src/main/java/projekt/enigma/model/Hardware.java
@@ -17,10 +17,18 @@ public class Hardware {
 
 	//region Variablen
 	/**
-	 * TODO: Dokumentieren
+	 * 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;
+
+	/**
+	 * reflektor: Reflektor: erzeugt ein privates Reflektor-Objekt.
+	 */
 	private Reflektor reflektor;
 	//endregion
 
diff --git a/src/main/java/projekt/enigma/view/ChkBoxPanel.java b/src/main/java/projekt/enigma/view/ChkBoxPanel.java
new file mode 100644
index 0000000000000000000000000000000000000000..04b93074aa47a1b13447584a66b580b8c8a2d284
--- /dev/null
+++ b/src/main/java/projekt/enigma/view/ChkBoxPanel.java
@@ -0,0 +1,74 @@
+package projekt.enigma.view;
+
+import java.awt.*;
+import javax.swing.*;
+
+public class ChkBoxPanel extends JPanel {
+    /*private static JPanel panel = new JPanel();*/
+    private static JCheckBox[] checkbox;
+    private static Character[] alphabet;/* = {'A','B','C','D'};*/
+    private static int charSize;
+
+    public ChkBoxPanel(Character[] alphabet) {
+        this.charSize = alphabet.length;
+        this.alphabet = alphabet;
+        /*this.setTitle("Vertausche Buchstaben");
+        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);*/
+        this.setSize(30, charSize * 25);
+        //this.setLocation(getMousePosition()/*.x, getMousePosition().y+this.getHeight()+30*/);
+        initializeComponents();
+    }
+
+    private void initializeComponents() {
+        this.checkbox = new JCheckBox[charSize];
+        GridLayout panelLayout = new GridLayout();
+        this.setLayout(panelLayout);
+        if (!(charSize % 2 == 0)) {
+            this.setSize(30, (charSize + 1) * 20);
+            panelLayout.setRows((charSize + 1) / 2);
+        } else {
+            this.setSize(30, charSize * 10);
+            panelLayout.setRows(charSize / 2);
+        }
+        panelLayout.setColumns(2);
+        //panelLayout.setVgap(5);
+        //panelLayout.setHgap(-5);
+
+
+        for (int i = 0; i < charSize; i++) {
+            checkbox[i] = new JCheckBox(alphabet[i] + "");
+            checkbox[i].setSize(15, 20);
+            checkbox[i].setHorizontalTextPosition(SwingConstants.CENTER);
+            checkbox[i].setVerticalTextPosition(SwingConstants.TOP);
+/*            if (!(i%2==0)){
+            }*/
+            checkbox[i].setMargin(new Insets(0, 20, 0, 20));
+            //checkbox[i].setLocation(20, (i + 1) * 30);
+            this.add(checkbox[i]);
+        }
+        /* this.getContentPane().add(panel);*/
+        checkbox[0].setSelected(true);
+        //this.add(panel);
+        //this.setLocation(100, 100);
+        this.setVisible(true);
+    }
+
+
+    private int isChecked() {
+        for (int i = 0; i < charSize; i++) {
+            if (checkbox[i].isSelected()) {
+
+                // do something...
+
+            } else {
+
+                // do something else...
+
+            }
+        }
+        return 0;
+    }
+
+
+}
+
diff --git a/src/main/resources/projekt/enigma/gui.fxml b/src/main/resources/projekt/enigma/gui.fxml
index e1f89f7b45830201cfc80800a7eff6bcffcec0f3..3080961d5406d42db5e0d3ad2fe4b7cd7290e6cc 100644
--- a/src/main/resources/projekt/enigma/gui.fxml
+++ b/src/main/resources/projekt/enigma/gui.fxml
@@ -13,9 +13,8 @@
 <?import javafx.scene.shape.Circle?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="677.0" prefWidth="962.0" xmlns="http://javafx.com/javafx/8.0.999-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projekt.enigma.GuiController">
+<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">
    <children>
-      <AnchorPane layoutX="207.0" layoutY="-111.0" prefHeight="111.0" prefWidth="487.0" AnchorPane.leftAnchor="207.0" AnchorPane.rightAnchor="274.0" />
       <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" />
@@ -670,7 +669,56 @@
                   <Insets left="42.0" />
                </GridPane.margin>
             </Label>
-            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="7" />
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port0" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="2" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port1" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="3" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port2" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="4" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port3" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="5" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port4" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="6" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port5" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="7" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port6" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="8" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port7" disable="true" layoutY="-304.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="9" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port8" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
+            <Pane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="10" GridPane.rowIndex="7">
+               <children>
+                  <Pane fx:id="port9" disable="true" layoutX="-3.0" layoutY="-303.0" prefHeight="346.0" prefWidth="86.0" visible="false" />
+               </children>
+            </Pane>
          </children>
       </GridPane>
       <Label layoutX="684.0" layoutY="-164.0" prefHeight="17.0" prefWidth="195.0" />
@@ -702,5 +750,6 @@
             </Button>
          </children>
       </GridPane>
+      <Pane layoutX="-129.0" layoutY="248.0" prefHeight="346.0" prefWidth="67.0" />
    </children>
 </AnchorPane>