diff --git a/pom.xml b/pom.xml
index 6035d0d533e8fbf2fb4c5162451d781cb11c4989..680b9ad5b923a384115bb376c477879ec0abd7d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,7 +1,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
-    <groupId>Projektarbeit</groupId>
+    <groupId>projekt</groupId>
     <artifactId>enigma</artifactId>
     <version>0.0.1</version>
     <properties>
@@ -9,7 +9,7 @@
         <!--region[useage]-->
         <use.java.version>11</use.java.version>
         <use.javafx.version>11.0.2</use.javafx.version>
-        <use.app.main.class>${project.artifactId}.Main</use.app.main.class>
+        <use.app.main.class>${project.groupId}.${project.artifactId}.Main</use.app.main.class>
         <!--endregion[useage]-->
         <maven.compiler.source>${use.java.version}</maven.compiler.source>
         <maven.compiler.target>${use.java.version}</maven.compiler.target>
diff --git a/src/main/java/enigma/model/Steckbrett.java b/src/main/java/enigma/model/Steckbrett.java
deleted file mode 100644
index 63bf834938258d61db0c6dfa2e555ce1ec2c20e4..0000000000000000000000000000000000000000
--- a/src/main/java/enigma/model/Steckbrett.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package enigma.model;
-
-/**
- *TODO: Dokumentieren
- */
-public class Steckbrett {
-    /**
-     *TODO: Dokumentieren
-     */
-    private int zaehler;
-    private Character[] orginalBuchstaben;
-    private Character[] getauschteBuchstaben;
-
-    /**
-     *TODO: Dokumentieren
-     */
-    public Steckbrett() {
-
-        orginalBuchstaben = new Character[10];
-        getauschteBuchstaben = new Character[10];
-    }
-
-    /**
-     *TODO: Dokumentieren
-     *
-     * @param buchstabe1 : char
-     * @param buchstabe2 : char
-     * @return boolean
-     */
-    public boolean setzeVertauschung(char buchstabe1, char buchstabe2) {
-
-        if (zaehler < orginalBuchstaben.length) {
-            orginalBuchstaben[zaehler] = buchstabe1;
-            getauschteBuchstaben[zaehler++] = buchstabe2;
-        } else {
-            System.err.println("Zu viele Vertauschungen angegeben!");
-        }
-
-        return ueberpruefeVertauschungen();
-    }
-
-    /**
-     *TODO: Dokumentieren
-     *
-     * @return boolean
-     */
-    public boolean ueberpruefeVertauschungen() {
-
-        boolean result = true;
-        for (int n = 0; n < orginalBuchstaben.length; n++) {
-            if (orginalBuchstaben.equals(orginalBuchstaben[n]) || getauschteBuchstaben.equals(orginalBuchstaben[n]) || getauschteBuchstaben.equals(getauschteBuchstaben[n])) {
-                System.err.println("Vertauschungen enthalten unzulässige Dopplungen");
-                result = false;
-            }
-        }
-
-        return result;
-    }
-
-    /**
-     * TODO: Dokumentieren
-     *
-     * @param buchstabe : Character
-     * @return char
-     */
-    public char codiere(Character buchstabe) {
-
-        for (int index = 0; index < getauschteBuchstaben.length; index++) {
-            if (buchstabe.equals(getauschteBuchstaben[index])) {
-                buchstabe = orginalBuchstaben[index];
-            } else if (buchstabe.equals(orginalBuchstaben[index])) {
-                buchstabe = getauschteBuchstaben[index];
-            }
-        }
-
-        return buchstabe;
-    }
-
-}
diff --git a/src/main/java/enigma/model/Walze.java b/src/main/java/enigma/model/Walze.java
deleted file mode 100644
index 42d9c8715a3ce319622489b3fa98bfadcc83dc4e..0000000000000000000000000000000000000000
--- a/src/main/java/enigma/model/Walze.java
+++ /dev/null
@@ -1,245 +0,0 @@
-package enigma.model;
-
-/**
- * Klasse Walze
- * <p>
- * Erzeugt ein Objekt des Typs Walze mit den Eigenschaften:
- * <p>
- * 1. Walzennummer (Die Walze enthält die 26 Buchstaben des Alphabeths und codiert diese.
- * 5 verschiedene Walzen stehen zur Auswahl, die jeweils verschieden die Buchstaben des Alphabeths
- * paarweise vertauschen)
- * <p>
- * 2. Ringstellung (Umspringpunkt der Walze wird festgelegt. Der Umspringpunkt bestimmt
- * den Drehzeitpunkt der linken Nachbarwalze)
- */
-public class Walze {
-
-	/**
-	 * Konstanten und Variablen der Klasse Walze
-	 * <p>
-	 * ringstellung : Bestimmt den Umspringpunkt der Walze
-	 * walzennr : Bestimmt die Walzennr. (also wie der Buchstabe codiert wird)
-	 */
-	private Character[] walzeAlpha;
-	private char ringstellung;
-	private int walzennr;
-	private Character[] alphabet;
-
-
-	/**
-	 * Gibt die Parameter der Walze mit
-	 *
-	 * @param walzennr     : int : Nummer der gewaehlten Walze
-	 * @param ringstellung : Character : Einstellung des Notch
-	 */
-	public Walze(int walzennr, int ringstellung) {
-		this.alphabet = new Character[]{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
-		this.walzeAlpha = new Character[]{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
-
-		// Setzen der Walzennummer
-		this.setWalzennr(walzennr);
-
-		// Setzen der Ringstellung
-		this.setRingstellung(ringstellung);
-	}
-
-	/**
-	 * Sortiert den Walzennummern das passenden Character-Array mittels switch zu.
-	 *
-	 * @return walze : Character[] : gibt die gewaehlte Walze zurueck
-	 */
-	private Character[] walzenNummer() {
-
-		Character[] walze = new Character[26];
-		Character[] walzeEins = {'E', 'K', 'M', 'F', 'L', 'G', 'D', 'Q', 'V', 'Z', 'N', 'T', 'O', 'W', 'Y', 'H', 'X', 'U', 'S', 'P', 'A', 'I', 'B', 'R', 'C', 'J'};
-		Character[] walzeZwei = {'A', 'J', 'D', 'K', 'S', 'I', 'R', 'U', 'X', 'B', 'L', 'H', 'W', 'T', 'M', 'C', 'Q', 'G', 'Z', 'N', 'P', 'Y', 'F', 'V', 'O', 'E'};
-		Character[] walzeDrei = {'B', 'D', 'F', 'H', 'J', 'L', 'C', 'P', 'R', 'T', 'X', 'V', 'Z', 'N', 'Y', 'E', 'I', 'W', 'G', 'A', 'K', 'M', 'U', 'S', 'Q', 'O'};
-		Character[] walzeVier = {'E', 'S', 'O', 'V', 'P', 'Z', 'J', 'A', 'Y', 'Q', 'U', 'I', 'R', 'H', 'X', 'L', 'N', 'F', 'T', 'G', 'K', 'D', 'C', 'M', 'W', 'B'};
-		Character[] walzeFuenf = {'V', 'Z', 'B', 'R', 'G', 'I', 'T', 'Y', 'U', 'P', 'S', 'D', 'N', 'H', 'L', 'X', 'A', 'W', 'M', 'J', 'Q', 'O', 'F', 'E', 'C', 'K'};
-
-		switch (this.walzennr) {
-			case 1:
-				walze = walzeEins;
-				break;
-			case 2:
-				walze = walzeZwei;
-				break;
-			case 3:
-				walze = walzeDrei;
-				break;
-			case 4:
-				walze = walzeVier;
-				break;
-			case 5:
-				walze = walzeFuenf;
-				break;
-		}
-
-		return walze;
-	}
-
-	/**
-	 * TODO: Dokumentieren
-	 *
-	 * @return ringstellung : Character : gibt die neue Ringstellung zurueck
-	 */
-	public char getRingstellung() {
-		return ringstellung;
-	}
-
-	/**
-	 * Gibt die Initiale Ringstellung der Walze an.
-	 * Es sind nur Zahlen von 1 - 26 zugelassen.
-	 * Im Fehlerfall wird die Ringstellung standardmaessig auf '1' gesetzt.
-	 *
-	 * @param ringstellung : Character : Punkt an dem die Walze umspringt
-	 */
-	public void setRingstellung(int ringstellung) {
-		if (ringstellung > 0 && ringstellung <= 26) {
-			this.ringstellung = this.alphabet[ringstellung - 1];
-		} else {
-			this.ringstellung = 'Z';
-		}
-	}
-
-	/**
-	 * dreheWalze() return boolean => Wenn Notch erreicht, gib true zurück, ansonsten false
-	 * TODO: Doku
-	 */
-	public boolean dreheWalze(int... drehung) {
-
-		boolean checkRing = false;
-
-		verschiebung();
-
-		if (drehung.length > 0) {
-			for (int i = 1; i < drehung[0]; i++) {
-				verschiebung();
-			}
-		}
-
-		if (this.getPosition().equals(this.ringstellung)) {
-			checkRing = true;
-		}
-
-		return checkRing;
-	}
-
-	/**
-	 * TODO: Dokumentieren
-	 */
-	private void verschiebung() {
-
-		Character[] neueWalze = new Character[26];
-
-		for (int index = 0; index < neueWalze.length; index++) {
-			neueWalze[(index + 1) % neueWalze.length] = this.walzeAlpha[index];
-		}
-		this.walzeAlpha = neueWalze;
-	}
-
-	/**
-	 * TODO: Dokumentieren
-	 * @return
-	 */
-	public char getAnzeige() {
-		int temp = this.getArrayIndex('A', this.walzeAlpha);
-
-		return this.alphabet[temp];
-	}
-
-	/**
-	 * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabe()
-	 * anhand der gewaehlten Walze.
-	 *
-	 * @return chiffrierterBuchstabe : Character : chiffrierter Buchstabe
-	 */
-	public char codiere(char buchstabe) {
-		for (int i = 0; i < walzeAlpha.length; i++) {
-			if (walzeAlpha[i].equals(buchstabe)) {
-				buchstabe = walzenNummer()[i];
-				break;
-			}
-		}
-
-		return buchstabe;
-	}
-
-	/**
-	 * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabeReverse()
-	 * anhand der AlphaWalze.
-	 *
-	 * @return codierterBuchstabeRe : Character : chiffrierter Buchstabe
-	 */
-	public char codiere2(char buchstabe) {
-		for (int i = 0; i < walzenNummer().length; i++) {
-			if (walzenNummer()[i].equals(buchstabe)) {
-				buchstabe = walzeAlpha[i];
-				break;
-			}
-		}
-
-		return buchstabe;
-	}
-
-	/**
-	 * TODO: Dokumentieren
-	 *
-	 * @param buchstabe : Character
-	 * @param array : Character[]
-	 * @return int
-	 */
-	private int getArrayIndex(Character buchstabe, Character[] array) {
-
-		int result = -1;
-
-		for (int i = 0; i < array.length; i++) {
-			if (array[i].equals(buchstabe)) {
-				result = i;
-				break;
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * Definiert die Walze. Es stehen fuenf Walze zur Auswahl.
-	 *
-	 * @param walzennr : int : setzt die Walzennummer
-	 */
-	public void setWalzennr(int walzennr) {
-		if (walzennr > 0 && walzennr < 6) {
-			this.walzennr = walzennr;
-		} else {
-			System.err.println("Keine gültige Walzennummer");
-		}
-	}
-
-	/**
-	 * TODO: Dokumentieren
-	 *
-	 * @return Character
-	 */
-	public Character getPosition() {
-		return walzeAlpha[0];
-	}
-
-	/**
-	 * Gibt die Grundeinstellung der Walze ein. Nur Buchstaben von A - Z sind zugelassen.
-	 * Buchstaben werden automatisch in Grossbuchstaben umgewandelt.
-	 * Im Fehlerfall wird die Grundeinstellung der Walze standardmaessig auf 'A' gesetzt.
-	 * TODO: Funktionsname hat sich geändert
-	 *
-	 * @param buchstabe : Character : Grundeinstellung der Walze
-	 */
-	public void setPosition(Character buchstabe) {
-		if (Character.isLetter(buchstabe)) {
-			buchstabe = Character.toUpperCase(buchstabe);
-			System.arraycopy(this.alphabet, 0, this.walzeAlpha, 0, this.alphabet.length);
-			if (buchstabe > 'A') {
-				dreheWalze(this.getArrayIndex(buchstabe, this.alphabet));
-			}
-		}
-	}
-}
diff --git a/src/main/java/enigma/App.java b/src/main/java/projekt/enigma/App.java
similarity index 92%
rename from src/main/java/enigma/App.java
rename to src/main/java/projekt/enigma/App.java
index 5d078d0fa9d532dec6b8ea972abe90408a6b69ca..72a9b8a5bb3b6636a3e15044ac516f19eae64eb5 100644
--- a/src/main/java/enigma/App.java
+++ b/src/main/java/projekt/enigma/App.java
@@ -1,13 +1,11 @@
-package enigma;
+package projekt.enigma;
 
-import enigma.model.Codierer;
+import projekt.enigma.model.Codierer;
 import javafx.application.Application;
 import javafx.fxml.FXMLLoader;
 import javafx.scene.Parent;
 import javafx.scene.Scene;
 import javafx.stage.Stage;
-import org.apache.http.HttpException;
-
 import java.io.IOException;
 
 /**
@@ -66,4 +64,4 @@ public class App extends Application {
 		stage.show();
 	}
 
-}
\ No newline at end of file
+}
diff --git a/src/main/java/enigma/GuiController.java b/src/main/java/projekt/enigma/GuiController.java
similarity index 61%
rename from src/main/java/enigma/GuiController.java
rename to src/main/java/projekt/enigma/GuiController.java
index 1d9e3b1c0e54a773251542d7ebc9c07058a0b5ea..6ad24987ce724c61ff3b2dbe322ff05869569658 100644
--- a/src/main/java/enigma/GuiController.java
+++ b/src/main/java/projekt/enigma/GuiController.java
@@ -1,11 +1,11 @@
-package enigma;
+package projekt.enigma;
 
-import enigma.model.Codierer;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
 import javafx.scene.shape.Circle;
 import org.apache.http.HttpException;
+import projekt.enigma.model.Codierer;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -22,199 +22,208 @@ public class GuiController {
 	private Codierer codierer;
 
 	@FXML
-	private Button btnL;
+	private TextField tfStecker1;
 
 	@FXML
-	private Button btnP;
+	private TextField tfStecker2;
 
 	@FXML
-	private Button btnY;
+	private TextField tfStecker3;
 
 	@FXML
-	private Button btnX;
+	private TextField tfStecker4;
 
 	@FXML
-	private Button btnC;
+	private TextField tfStecker5;
 
 	@FXML
-	private Button btnV;
+	private TextField tfStecker6;
 
 	@FXML
-	private Button btnB;
+	private TextField tfStecker7;
 
 	@FXML
-	private Button btnN;
+	private TextField tfStecker8;
+
+	@FXML
+	private TextField tfStecker9;
+
+	@FXML
+	private TextField tfStecker10;
 
 	@FXML
 	private Button btnM;
 
 	@FXML
-	private Button btnA;
+	private Button btnN;
 
 	@FXML
-	private Button btnS;
+	private Button btnB;
 
 	@FXML
-	private Button btnD;
+	private Button btnV;
 
 	@FXML
-	private Button btnF;
+	private Button btnC;
 
 	@FXML
-	private Button btnG;
+	private Button btnX;
 
 	@FXML
-	private Button btnH;
+	private Button btnY;
 
 	@FXML
-	private Button btnJ;
+	private Button btnP;
 
 	@FXML
-	private Button btnK;
+	private Button btnL;
 
 	@FXML
-	private Button btnQ;
+	private Button btnK;
 
 	@FXML
-	private Button btnW;
+	private Button btnJ;
 
 	@FXML
-	private Button btnE;
+	private Button btnH;
 
 	@FXML
-	private Button btnR;
+	private Button btnG;
 
 	@FXML
-	private Button btnT;
+	private Button btnF;
 
 	@FXML
-	private Button btnZ;
+	private Button btnD;
 
 	@FXML
-	private Button btnU;
+	private Button btnS;
 
 	@FXML
-	private Button btnI;
+	private Button btnA;
 
 	@FXML
 	private Button btnO;
 
 	@FXML
-	private MenuButton mBtnWalzPos1;
+	private Button btnI;
 
 	@FXML
-	private MenuButton mBtnWalzPos3;
+	private Button btnU;
 
 	@FXML
-	private MenuButton mBtnWalzPos2;
+	private Button btnZ;
 
 	@FXML
-	private MenuButton mBtnNotchPos3;
+	private Button btnT;
 
 	@FXML
-	private MenuButton mBtnNotchPos2;
+	private Button btnR;
 
 	@FXML
-	private MenuButton mBtnStartPos1;
+	private Button btnE;
 
 	@FXML
-	private MenuButton mBtnStartPos3;
+	private Button btnW;
 
 	@FXML
-	private MenuButton mBtnStartPos2;
+	private Button btnQ;
 
 	@FXML
-	private TextField tfKlartext;
+	private Circle circL;
 
 	@FXML
-	private TextField tfCodiert;
+	private Circle circM;
 
 	@FXML
-	private MenuButton mBtnNotchPos1;
+	private Circle circN;
 
 	@FXML
-	private TextField tfStecker1;
+	private Circle circB;
 
 	@FXML
-	private TextField tfStecker2;
+	private Circle circV;
 
 	@FXML
-	private TextField tfStecker3;
+	private Circle circC;
 
 	@FXML
-	private TextField tfStecker4;
+	private Circle circX;
 
 	@FXML
-	private TextField tfStecker5;
+	private Circle circY;
 
 	@FXML
-	private TextField tfStecker6;
+	private Circle circP;
 
 	@FXML
-	private TextField tfStecker7;
+	private Circle circK;
 
 	@FXML
-	private TextField tfStecker8;
+	private Circle circJ;
 
 	@FXML
-	private TextField tfStecker9;
+	private Circle circH;
 
 	@FXML
-	private TextField tfStecker10;
+	private Circle circG;
 
 	@FXML
-	private Label lblQ;
+	private Circle circF;
 
 	@FXML
-	private Label lblE;
+	private Circle circD;
 
 	@FXML
-	private Label lblW;
+	private Circle circS;
 
 	@FXML
-	private Label lblR;
+	private Circle circA;
 
 	@FXML
-	private Label lblT;
+	private Circle circO;
 
 	@FXML
-	private Label lblZ;
+	private Circle circI;
 
 	@FXML
-	private Label lblO;
+	private Circle circU;
 
 	@FXML
-	private Label lblI;
+	private Circle circZ;
 
 	@FXML
-	private Label lblU;
+	private Circle circT;
 
 	@FXML
-	private Label lblA;
+	private Circle circR;
 
 	@FXML
-	private Label lblD;
+	private Circle circE;
 
 	@FXML
-	private Label lblS;
+	private Circle circW;
 
 	@FXML
-	private Label lblF;
+	private Circle circQ;
 
 	@FXML
-	private Label lblG;
+	private Label lblL;
 
 	@FXML
-	private Label lblH;
+	private Label lblM;
 
 	@FXML
-	private Label lblK;
+	private Label lblN;
 
 	@FXML
-	private Label lblJ;
+	private Label lblB;
 
 	@FXML
-	private Label lblP;
+	private Label lblV;
+
+	@FXML
+	private Label lblC;
 
 	@FXML
 	private Label lblX;
@@ -223,108 +232,111 @@ public class GuiController {
 	private Label lblY;
 
 	@FXML
-	private Label lblC;
+	private Label lblP;
 
 	@FXML
-	private Label lblV;
+	private Label lblK;
 
 	@FXML
-	private Label lblB;
+	private Label lblJ;
 
 	@FXML
-	private Label lblL;
+	private Label lblH;
 
 	@FXML
-	private Label lblM;
+	private Label lblG;
 
 	@FXML
-	private Label lblN;
+	private Label lblF;
 
 	@FXML
-	private Circle circE;
+	private Label lblD;
 
 	@FXML
-	private Circle circR;
+	private Label lblS;
 
 	@FXML
-	private Circle circT;
+	private Label lblA;
 
 	@FXML
-	private Circle circZ;
+	private Label lblQ;
 
 	@FXML
-	private Circle circU;
+	private Label lblW;
 
 	@FXML
-	private Circle circI;
+	private Label lblE;
 
 	@FXML
-	private Circle circO;
+	private Label lblR;
 
 	@FXML
-	private Circle circA;
+	private Label lblT;
 
 	@FXML
-	private Circle circS;
+	private Label lblZ;
 
 	@FXML
-	private Circle circD;
+	private Label lblU;
 
 	@FXML
-	private Circle circF;
+	private Label lblI;
 
 	@FXML
-	private Circle circG;
+	private Label lblO;
 
 	@FXML
-	private Circle circH;
+	private TextField tfCodiert;
 
 	@FXML
-	private Circle circJ;
+	private TextField tfKlartext;
 
 	@FXML
-	private Circle circK;
+	private ProgressBar pbLadeNachricht;
 
 	@FXML
-	private Circle circP;
+	private MenuButton mBtnWalzPos1;
 
 	@FXML
-	private Circle circY;
+	private MenuButton mBtnWalzPos2;
 
 	@FXML
-	private Circle circX;
+	private MenuButton mBtnWalzPos3;
 
 	@FXML
-	private Circle circC;
+	private MenuButton mBtnNotchPos1;
 
 	@FXML
-	private Circle circV;
+	private MenuButton mBtnNotchPos2;
 
 	@FXML
-	private Circle circB;
+	private MenuButton mBtnNotchPos3;
 
 	@FXML
-	private Circle circN;
+	private MenuButton mBtnStartPos1;
 
 	@FXML
-	private Circle circM;
+	private MenuButton mBtnStartPos2;
 
 	@FXML
-	private Circle circL;
+	private MenuButton mBtnStartPos3;
 
 	@FXML
-	private Circle circW;
+	private Label lblLadeNachricht;
 
 	@FXML
-	private Circle circQ;
+	private Label lblTagesschluessel;
+
+	@FXML
+	private Label lblSpruchschluessel;
 
 	@FXML
 	void initialize() {
 
-	    // Variablen setzen
-        textEingabe = "";
-        textCodiert = "";
-        resetDisplay = true;
+		// Variablen setzen
+		textEingabe = "";
+		textCodiert = "";
+		resetDisplay = true;
 
 		//Einträge für Walzen
 		menu(mBtnWalzPos1, walzenNr);
@@ -341,7 +353,6 @@ public class GuiController {
 		menu(mBtnStartPos3, position);
 		menu(mBtnStartPos2, position);
 
-
 		//Setze Leucht Event bei Tastendruck
 		leuchten(btnA, circA);
 		leuchten(btnB, circB);
@@ -370,20 +381,45 @@ public class GuiController {
 		leuchten(btnY, circY);
 		leuchten(btnZ, circZ);
 
+		// Initialisieren des Codierers und setzen der Kenngruppe
 		this.codierer = new Codierer();
-        this.codierer.setKenngruppe("enigma");
+		this.codierer.setKenngruppe("enigma");
 
-        // Walzen auf ihre Position setzen. Der Spruchschlüssel ist hier bereits berücksichtigt.
-        mBtnStartPos1.setText(String.valueOf(this.codierer.getWalzen()[0]));
-        mBtnStartPos2.setText(String.valueOf(this.codierer.getWalzen()[1]));
-        mBtnStartPos3.setText(String.valueOf(this.codierer.getWalzen()[2]));
+		// Beim nächsten Tastendruck erstmal das Display löschen damit falschen Nachrichten geschickt werden.
+		this.resetDisplay = true;
+
+		// Einstellungen aus dem Logbuch auslesen und setzen
+		this.setzeTagesSchluessel();
+		this.setzeSteckverbindungen();
 	}
 
+	/**
+	 * Hier werden die TextFelder, welche die Steckverbindungen darstellen,
+	 * mit dem Werten die die Klasse Codierer zur Verfügung stellt gefüllt.
+	 */
+	private void setzeSteckverbindungen() {
+		tfStecker1.setText(codierer.getSteckverbindungen()[0][0]+""+codierer.getSteckverbindungen()[0][1]);
+		tfStecker2.setText(codierer.getSteckverbindungen()[1][0]+""+codierer.getSteckverbindungen()[1][1]);
+		tfStecker3.setText(codierer.getSteckverbindungen()[2][0]+""+codierer.getSteckverbindungen()[2][1]);
+		tfStecker4.setText(codierer.getSteckverbindungen()[3][0]+""+codierer.getSteckverbindungen()[3][1]);
+		tfStecker5.setText(codierer.getSteckverbindungen()[4][0]+""+codierer.getSteckverbindungen()[4][1]);
+		tfStecker6.setText(codierer.getSteckverbindungen()[5][0]+""+codierer.getSteckverbindungen()[5][1]);
+		tfStecker7.setText(codierer.getSteckverbindungen()[6][0]+""+codierer.getSteckverbindungen()[6][1]);
+		tfStecker8.setText(codierer.getSteckverbindungen()[7][0]+""+codierer.getSteckverbindungen()[7][1]);
+		tfStecker9.setText(codierer.getSteckverbindungen()[8][0]+""+codierer.getSteckverbindungen()[8][1]);
+		tfStecker10.setText(codierer.getSteckverbindungen()[9][0]+""+codierer.getSteckverbindungen()[9][1]);
+	}
+
+	/**
+	 * TODO: Die Löschen Funktion muss noch ausgeschrieben werden. Der letzte char muss aus beiden
+	 * Feldern entfernt werden.
+	 * Der Codierer muss den letzten Buchstaben aus (codierer.nachricht) löschen und die Walzen um eines zurück drehen.
+	 */
 	@FXML
 	private void loeschen() {
-		if (textEingabe.length()==0){
+		if (textEingabe.length() == 0) {
 			tfKlartext.setText("");
-		}else {
+		} else {
 			textEingabe = textEingabe.substring(0, textEingabe.length() - 1);
 			tfKlartext.setText(textEingabe);
 		}
@@ -391,16 +427,17 @@ public class GuiController {
 
 	@FXML
 	void btnempfangen() {
-	    String[] empfangeneNachricht = this.codierer.empfangeNachricht();
+		String[] empfangeneNachricht = this.codierer.empfangeNachricht();
 		if (empfangeneNachricht[0] != null) {
-            this.tfKlartext.setText(empfangeneNachricht[2]);
-            this.tfCodiert.setText(empfangeneNachricht[1]);
-            this.resetDisplay = true;
-
-            mBtnStartPos1.setText(String.valueOf(this.codierer.getWalzen()[0]));
-            mBtnStartPos2.setText(String.valueOf(this.codierer.getWalzen()[1]));
-            mBtnStartPos3.setText(String.valueOf(this.codierer.getWalzen()[2]));
-        }
+			this.tfKlartext.setText(empfangeneNachricht[2]);
+			this.tfCodiert.setText(empfangeneNachricht[1]);
+			this.resetDisplay = true;
+
+			// Spruchschluessel in das Feld lblSpruchschluessel schreiben
+			lblSpruchschluessel.setText(this.codierer.empfangenerSpruchschluessel(empfangeneNachricht[2]));
+
+			this.setzeTagesSchluessel();
+		}
 	}
 
 	@FXML
@@ -425,19 +462,18 @@ public class GuiController {
 	private void listener(MenuButton mb, MenuItem mi) {
 		// mb.setText(mi.getText());
 
-		if(mb.getId().equals(mBtnStartPos1.getId()))setzePosition(1,mi.getText().charAt(0));
-		if(mb.getId().equals(mBtnStartPos2.getId()))setzePosition(2,mi.getText().charAt(0));
-		if(mb.getId().equals(mBtnStartPos3.getId()))setzePosition(3,mi.getText().charAt(0));
-		if(mb.getId().equals(mBtnWalzPos1.getId()))setzeWalze(1,mi.getText());
-		if(mb.getId().equals(mBtnWalzPos2.getId()))setzeWalze(2,mi.getText());
-		if(mb.getId().equals(mBtnWalzPos3.getId()))setzeWalze(3,mi.getText());
-		if(mb.getId().equals(mBtnNotchPos1.getId()))
-			setzeRing(1,Integer.parseInt(mi.getText())-1);
-		if(mb.getId().equals(mBtnNotchPos2.getId()))
-			setzeRing(2,Integer.parseInt(mi.getText())-1);
-		if(mb.getId().equals(mBtnNotchPos3.getId()))
-			setzeRing(3,Integer.parseInt(mi.getText())-1);
-
+		if (mb.getId().equals(mBtnStartPos1.getId())) setzePosition(1, mi.getText().charAt(0));
+		if (mb.getId().equals(mBtnStartPos2.getId())) setzePosition(2, mi.getText().charAt(0));
+		if (mb.getId().equals(mBtnStartPos3.getId())) setzePosition(3, mi.getText().charAt(0));
+		if (mb.getId().equals(mBtnWalzPos1.getId())) setzeWalze(1, mi.getText());
+		if (mb.getId().equals(mBtnWalzPos2.getId())) setzeWalze(2, mi.getText());
+		if (mb.getId().equals(mBtnWalzPos3.getId())) setzeWalze(3, mi.getText());
+		if (mb.getId().equals(mBtnNotchPos1.getId()))
+			setzeRing(1, Integer.parseInt(mi.getText()) - 1);
+		if (mb.getId().equals(mBtnNotchPos2.getId()))
+			setzeRing(2, Integer.parseInt(mi.getText()) - 1);
+		if (mb.getId().equals(mBtnNotchPos3.getId()))
+			setzeRing(3, Integer.parseInt(mi.getText()) - 1);
 	}
 
 	/**
@@ -503,26 +539,29 @@ public class GuiController {
 	 */
 	private void setText(Button b) {
 		if (textEingabe.length() < 250) {
-		    if(this.resetDisplay) {
-		        this.tfCodiert.setText("");
-		        this.tfKlartext.setText("");
-		        this.resetDisplay = false;
-		        this.codierer.resetHardware();
-		        textCodiert = "";
-		        textEingabe = "";
-                // Spruchschlüssel generieren und codieren
-                this.codierer.generateSpruchschluessel();
-            }
-		    textEingabe += b.getText();
-            textCodiert += this.codierer.codiere(b.getText().charAt(0), true);
+			if (this.resetDisplay) {
+				this.tfCodiert.setText("");
+				this.tfKlartext.setText("");
+				this.resetDisplay = false;
+				this.codierer.resetHardware();
+				textCodiert = "";
+				textEingabe = "";
+				// Spruchschlüssel generieren und codieren
+				this.codierer.generateSpruchschluessel();
+				// Spruchschluessel in das Feld lblSpruchschluessel schreiben
+				lblSpruchschluessel.setText(this.codierer.getSpruchschluessel());
+			}
+			textEingabe += b.getText();
+			textCodiert += this.codierer.codiere(b.getText().charAt(0), true);
 
 			tfKlartext.setText(textEingabe);
 			tfCodiert.setText(textCodiert);
 
+			// Position der Walzen aktuallisieren
 			mBtnStartPos1.setText(String.valueOf(this.codierer.getWalzen()[0]));
-            mBtnStartPos2.setText(String.valueOf(this.codierer.getWalzen()[1]));
-            mBtnStartPos3.setText(String.valueOf(this.codierer.getWalzen()[2]));
-        }
+			mBtnStartPos2.setText(String.valueOf(this.codierer.getWalzen()[1]));
+			mBtnStartPos3.setText(String.valueOf(this.codierer.getWalzen()[2]));
+		}
 	}
 
 	private void leuchten(Button taste, Circle leuchte) {
@@ -538,26 +577,26 @@ public class GuiController {
 	 * Setzt die Anzeige des entsprechende Gui-Element auf die entsprechende Walze
 	 * ->d.h. welche Walze sitzt auf welcher Position
 	 *
-	 * @param walzeRoemischNr    => gibt die Walzennummer an
-	 * @param walzenPosition => gibt die Position der Walze
+	 * @param walzeRoemischNr => gibt die Walzennummer an
+	 * @param walzenPosition  => gibt die Position der Walze
 	 */
 	private void setzeWalze(int walzenPosition, String walzeRoemischNr) {
-		int walzeNr=0;
-		switch (walzeRoemischNr){
+		int walzeNr = 0;
+		switch (walzeRoemischNr) {
 			case "I":
-				walzeNr=0;
+				walzeNr = 0;
 				break;
 			case "II":
-				walzeNr=1;
+				walzeNr = 1;
 				break;
 			case "III":
-				walzeNr=2;
+				walzeNr = 2;
 				break;
 			case "IV":
-				walzeNr=4;
+				walzeNr = 4;
 				break;
 			case "V":
-				walzeNr=4;
+				walzeNr = 4;
 				break;
 			default:
 				break;
@@ -585,7 +624,7 @@ public class GuiController {
 	 * Mitnahmeposition meint => die nächste Walze wird bei erreichen dieser Position (notch)
 	 * um eine Stelle versetzt
 	 *
-	 * @param ringStellung    => gibt die walze an
+	 * @param ringStellung   => gibt die walze an
 	 * @param walzenPosition => gibt den notch der Walze (walze) an
 	 */
 	private void setzeRing(int walzenPosition, int ringStellung) {
@@ -628,25 +667,42 @@ public class GuiController {
 
 	/**
 	 * Setzt den aktuellen TagesSchluessel
-	 *
-	 * @param tagesSchluessel => neuen Tagesschluessel übergeben
 	 */
-	public void setzeTagesSchluessel(String tagesSchluessel) {
-		/*
-		 * TODO Benötige TestString aus der DB Codebuch
-		 *
-		 * Den Tagesschlüssel bekommst du wie folgt:
-		 * <p>
-		 *     // Aktuelle Position der Walzen
-		 *     codierer.codebuch.getWalzenlage();
-		 *
-		 *     // Position der Ringe
-		 *     codierer.codebuch.getRingstellung();
-		 *
-		 *     //Position der Steckverbindungen
-		 *     codierer.codebuch.getSteckverbindung();
-		 * </p>
-		 */
+	public void setzeTagesSchluessel() {
+
+		// Umsprungpunkte anzeigen
+		mBtnNotchPos1.setText(String.valueOf(this.codierer.fetchRingstellung()[0]));
+		mBtnNotchPos2.setText(String.valueOf(this.codierer.fetchRingstellung()[1]));
+		mBtnNotchPos3.setText(String.valueOf(this.codierer.fetchRingstellung()[2]));
+		// Walzennummern anzeigen
+		mBtnWalzPos1.setText(String.valueOf(this.codierer.getchWalzenNr()[0]));
+		mBtnWalzPos2.setText(String.valueOf(this.codierer.getchWalzenNr()[1]));
+		mBtnWalzPos3.setText(String.valueOf(this.codierer.getchWalzenNr()[2]));
+		// Position der Walzen anzeigen
+		mBtnStartPos1.setText(String.valueOf(this.codierer.getWalzen()[0]));
+		mBtnStartPos2.setText(String.valueOf(this.codierer.getWalzen()[1]));
+		mBtnStartPos3.setText(String.valueOf(this.codierer.getWalzen()[2]));
+		// Steckbrett Felder setzen
+		tfStecker1.setText(this.codierer.getSteckverbindungen()[0][0] + "" +
+				this.codierer.getSteckverbindungen()[0][1]);
+		tfStecker2.setText(this.codierer.getSteckverbindungen()[1][0] + "" +
+				this.codierer.getSteckverbindungen()[1][1]);
+		tfStecker3.setText(this.codierer.getSteckverbindungen()[2][0] + "" +
+				this.codierer.getSteckverbindungen()[2][1]);
+		tfStecker4.setText(this.codierer.getSteckverbindungen()[3][0] + "" +
+				this.codierer.getSteckverbindungen()[3][1]);
+		tfStecker5.setText(this.codierer.getSteckverbindungen()[4][0] + "" +
+				this.codierer.getSteckverbindungen()[4][1]);
+		tfStecker6.setText(this.codierer.getSteckverbindungen()[5][0] + "" +
+				this.codierer.getSteckverbindungen()[5][1]);
+		tfStecker7.setText(this.codierer.getSteckverbindungen()[6][0] + "" +
+				this.codierer.getSteckverbindungen()[6][1]);
+		tfStecker8.setText(this.codierer.getSteckverbindungen()[7][0] + "" +
+				this.codierer.getSteckverbindungen()[7][1]);
+		tfStecker9.setText(this.codierer.getSteckverbindungen()[8][0] + "" +
+				this.codierer.getSteckverbindungen()[8][1]);
+		tfStecker10.setText(this.codierer.getSteckverbindungen()[9][0] + "" +
+				this.codierer.getSteckverbindungen()[9][1]);
 
 	}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/enigma/KenngruppeController.java b/src/main/java/projekt/enigma/KenngruppeController.java
similarity index 88%
rename from src/main/java/enigma/KenngruppeController.java
rename to src/main/java/projekt/enigma/KenngruppeController.java
index a1049e199af8e9f5f698d8a4acb6f8b673fa076c..3371b0f647ea6f27a72082ae0f18a44b79faf489 100644
--- a/src/main/java/enigma/KenngruppeController.java
+++ b/src/main/java/projekt/enigma/KenngruppeController.java
@@ -1,4 +1,4 @@
-package enigma;
+package projekt.enigma;
 
 import java.io.IOException;
 import javafx.fxml.FXML;
diff --git a/src/main/java/enigma/Main.java b/src/main/java/projekt/enigma/Main.java
similarity index 86%
rename from src/main/java/enigma/Main.java
rename to src/main/java/projekt/enigma/Main.java
index 22bb0df9e78ca242102994c499a059a629b4c57a..f016016d5dd3ebc14cae30918487a14eec35ac8e 100644
--- a/src/main/java/enigma/Main.java
+++ b/src/main/java/projekt/enigma/Main.java
@@ -1,4 +1,4 @@
-package enigma;
+package projekt.enigma;
 
 
 import java.sql.SQLException;
diff --git a/src/main/java/enigma/database/DatenbankSqlite.java b/src/main/java/projekt/enigma/database/DatenbankSqlite.java
similarity index 94%
rename from src/main/java/enigma/database/DatenbankSqlite.java
rename to src/main/java/projekt/enigma/database/DatenbankSqlite.java
index 00e88ea8e5293d287074570f9f020d161fea6c76..ac7c9024be694baff54f6573ac70dc695fc45081 100644
--- a/src/main/java/enigma/database/DatenbankSqlite.java
+++ b/src/main/java/projekt/enigma/database/DatenbankSqlite.java
@@ -1,4 +1,4 @@
-package enigma.database;
+package projekt.enigma.database;
 
 import java.sql.*;
 
@@ -22,7 +22,7 @@ public class DatenbankSqlite {
 	 */
 	private Connection connect() {
 
-		String url = "jdbc:sqlite::resource:enigma/codebuch.sqlite";
+		String url = "jdbc:sqlite::resource:projekt/enigma/codebuch.sqlite";
 		Connection conn = null;
 
 		try {
@@ -40,11 +40,16 @@ public class DatenbankSqlite {
 	 * Anschließend wir eine Verbindung zur SQLite Datenbank aufgebaut und das Codebuch angefragt.
 	 * Dieses wird in ein Object vom Type Codebuch gepackt und zurück gegeben.
 	 *
-	 * TODO: Es wird kein Codebuch Objekt mehr erzeugt sondern ein String[] zurück gegeben
 	 * Hole den heutigen Eintrag aus der SQLite Datenbank und erstelle daraus ein Codebuch Objekt
 	 *
 	 * @param tag : int : Tag für welchen ein Codebuch benötigt wird.
-	 * @return Codebuch : Codebuch Object mit dem Codebuch des angefragten Tages
+	 * @return String : Die Einstellungen des angefragten Tages
+	 * <p>
+	 *     String[0] : Tag
+	 *     String[1] : Walzenlage
+	 *     String[2] : Ringstellung
+	 *     String[3] : Steckverbindung
+	 * </p>
 	 */
 	public String[] getCodebuch(int tag) {
 
diff --git a/src/main/java/enigma/model/Codebuch.java b/src/main/java/projekt/enigma/model/Codebuch.java
similarity index 79%
rename from src/main/java/enigma/model/Codebuch.java
rename to src/main/java/projekt/enigma/model/Codebuch.java
index 115ed442dfbebc191cbe532998cfa47833987acf..9ded525e6d41617d76f148556b5c8f278bb88a63 100644
--- a/src/main/java/enigma/model/Codebuch.java
+++ b/src/main/java/projekt/enigma/model/Codebuch.java
@@ -1,13 +1,13 @@
-package enigma.model;
+package projekt.enigma.model;
 
-import enigma.database.DatenbankSqlite;
+import projekt.enigma.database.DatenbankSqlite;
 
 import java.time.LocalDate;
 import java.time.ZoneId;
 
 /**
  * Das Codebuch war eines der essentiel wichtigen Sachen bei der Enigma.
- * Jeder Enigma gehörte auch ein Codebuch bei, welches notwenidg war um die Nachrichten zu ver/entschlüsseln.
+ * Jeder Enigma gehörte auch ein Codebuch bei, welches notwendig war um die Nachrichten zu ver/entschlüsseln.
  * Im Codebuch standen für jeden Tag des Monats die notwendigen Einstellungen welche vorgenommen werden
  * mussten um die Texte zu ver/entschlüsseln.
  * Hiernach wurden die Walzen eingesetzt, die Ringe für den Rücksprung der Walze gesetzt und deren Grundeinstellung
@@ -22,22 +22,36 @@ import java.time.ZoneId;
  * geben kann.
  */
 public class Codebuch {
+
 	/**
-	 * TODO: Dokumentieren
+	 * TODO: Dokumentieren tag
+	 * tag : int : gibt den Tag an
 	 */
 	private int tag;
+
+	/**
+	 * walzenlage : int[] : legt die Positionen der Walzen fest
+	 */
 	private int[] walzenlage;
+
+	/**
+	 * ringstellung : int[] : TODO ringstellung: char || int ?
+	 */
 	private int[] ringstellung;
+
+	/**
+	 * steckverbindung : char[][] : stellt die Steckverbindungen im Steckbrett dar
+	 */
 	private char[][] steckverbindung;
 
 	/**
-	 * Im Konstruktor werden die Standart Werte gesetzt
+	 * Im Konstruktor werden die Standardwerte gesetzt
 	 * <p>
 	 * walzenlage : int[3] :            Hier wird die Position der drei Walzen festgelegt.
 	 * ringstellung : char[3] :         Jede Walze hat einen Ring. Der Index steht für die Walze und der Value für
 	 * die Position des Ringes.
 	 * steckverbindung : char[10][] :   Zehn Kabel können in das Steckbrett gesteckt werden. In diesem Array werden
-	 * die Kabel mit ihren jeweiligen Buchsen hinterlegt.
+	 * 									die Kabel mit ihren jeweiligen Buchsen hinterlegt.
 	 */
 	public Codebuch() {
 		this.walzenlage = new int[3];
@@ -53,12 +67,16 @@ public class Codebuch {
 
 	/**
 	 * TODO: Dokumentieren
-	 * @param tag
+	 * Holt den Tagesschluessel aus dem Codebuch ab. Ist kein Tag angegeben, wird der aktuelle Tag genutzt.
+	 * Aus dem Tagesschluessel werden die Werte fuer die Walzenlage, Ringstellung und Steckverbindung
+	 * gesetzt.
+	 *
+	 * @param tag : int[] : gibt einen Tag oder mehrere Tage mit
 	 */
-	public void getTagesschluessel(int... tag) {
+	public void fetchTagesschluessel(int... tag) {
 		String[] walzenlage, ringstellung, db;
 
-		if(tag.length > 0) {
+		if (tag.length > 0) {
 			db = new DatenbankSqlite().getCodebuch(tag[0]);
 		} else {
 			db = new DatenbankSqlite().getCodebuch(LocalDate.now(ZoneId.of("Europe/Berlin")).getDayOfMonth());
@@ -82,7 +100,7 @@ public class Codebuch {
 
 	/**
 	 * Gibt die aktuelle Instanz des Codebuches als String zurück.
-	 * Hierbei werden der Tag die Walzenlagen, Ring/Grundstellung sowie die Steckverbindungen zurück gegeben.
+	 * Hierbei werden der Tag die Walzenlagen, Ring-/Grundstellung sowie die Steckverbindungen zurück gegeben.
 	 *
 	 * @return String : String des gesamten Objektes
 	 */
@@ -138,16 +156,14 @@ public class Codebuch {
 	/**
 	 * Setzt den Tag dieser Instanz
 	 *
-	 * @param tag : int
+	 * @param tag : int : Tag
 	 */
-	void setTag(int tag) {
-		this.tag = tag;
-	}
+	void setTag(int tag) { this.tag = tag; }
 
 	/**
 	 * Gibt die Walzenlage dieser Instanz zurück
 	 *
-	 * @return String[] : Walzenlage
+	 * @return String[] : Walzenlage TODO: String[] || int[]?
 	 */
 	public int[] getWalzenlage() {
 		return walzenlage;
@@ -156,7 +172,7 @@ public class Codebuch {
 	/**
 	 * Gibt die Ringstellung dieser Instanz zurück
 	 *
-	 * @return String[] : Ringstellung
+	 * @return String[] : Ringstellung TODO: String[] || int[]?
 	 */
 	public int[] getRingstellung() {
 		return ringstellung;
@@ -177,7 +193,7 @@ public class Codebuch {
 	 *
 	 * @param kabel : String[] :  Die Steckverbindungen die gesteckt werden sollen.
 	 *              Jeder Eintrag im Array ist ein String mit zwei Zeichen.
-	 *              Diese werden in zwei char zerlegt und anschließend im globalen
+	 *              Diese werden in zwei chars zerlegt und anschließend im globalen
 	 *              Array gespeichert.
 	 */
 	private void setSteckverbindung(String[] kabel) {
@@ -205,7 +221,7 @@ public class Codebuch {
 	 * Setzt die Ringstellung dieser Instanz
 	 *
 	 * @param position     : int : Auf welche Walze wird der Ring aufgesetzt?
-	 * @param ringstellung : char : An dieser Position soll die nächste Walze weiter gedreht werden.
+	 * @param ringstellung : char : An dieser Position soll die nächste Walze weiter gedreht werden.TODO: String[] || int[]?
 	 */
 	private void setRingstellung(int position, int ringstellung) {
 		this.ringstellung[position] = ringstellung;
diff --git a/src/main/java/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java
similarity index 52%
rename from src/main/java/enigma/model/Codierer.java
rename to src/main/java/projekt/enigma/model/Codierer.java
index 8b1ff3bb4ba9a89def61d34a21be45df40f9d748..f62108eab6856329005cb2c7dfffac1b3ac9d548 100644
--- a/src/main/java/enigma/model/Codierer.java
+++ b/src/main/java/projekt/enigma/model/Codierer.java
@@ -1,37 +1,62 @@
-package enigma.model;
+package projekt.enigma.model;
 
 import org.apache.http.HttpException;
 
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Random;
 
 /**
- * TODO: Dokumentieren
+ * Die Codierer Klasse beschreibt den Benutzer welcher die Enigma benutzt.
+ * Alle Vorgänge wie z.B. das zusammenbauen der Hardware, auslesen des Codebuches und das anschließende codieren,
+ * finden hier statt. Dieser ist quasi die Schnittstelle zwischen der GUI (Hauptmann welcher ihm sagt was er zu
+ * verschlüsseln hat), der Enigma und dem Funker im Funkraum, welcher die Nachricht im Anschluß versendet.
  */
 public class Codierer {
 
 	/**
-	 * TODO: Dokumentieren
+	 * Der Klartext Spruchschlüssel zur codierung der Nachricht
 	 */
 	private String spruchschluessel;
+	/**
+	 * Der Spruchschlüssel, mit den Tageswerten aus dem Codebuch, codiert
+	 */
 	private String spruchschluesselCodiert;
-	private String kenngruppe, kenngruppeCodiert;
+	/**
+	 * Die Kenngruppe für die versendeten Nachrichten gedacht sind. Diese ist relevant für den Webservice (Funkraum)
+	 */
+	private String kenngruppe;
+	/**
+	 * Die Nachricht, welche der Benutzer eingibt, wird als String nachricht gespeichert
+	 * und im laufe der Benutzung ergänzt
+	 */
 	private String nachricht;
+	/**
+	 * Das Hardware Objekt. Hier werden alle Hardware relevanten Baugruppen gespeichert und verarbeitet.
+	 */
 	private Hardware hardware;
+	/**
+	 * Im Codebuch sind die Tageswerte zu finden. Über dieses Objekt kann darauf zugegriffen werden.
+	 */
 	private Codebuch codebuch;
+	/**
+	 * Der aktuelle Tagesschluessel. Dieser wird aus dem Codebuch ausgelesen und hier hinterlegt.
+	 */
+	private String tagesSchluessel;
 
 	/**
-	 * TODO: Dokumentieren
+	 * Der Konstruktor des Codierers
+	 * Hier werden die globalen Variablen auf ihre Standart Werte gesetzt sowie die Objekte Initialisiert.
 	 */
 	public Codierer() {
+
 		this.nachricht = "";
 		this.spruchschluessel = "";
 		this.spruchschluesselCodiert = "";
 		this.kenngruppe = "";
-		this.kenngruppeCodiert = "";
 		this.codebuch = new Codebuch();
-		this.codebuch.getTagesschluessel();
+		this.codebuch.fetchTagesschluessel();
 	}
 
 	/**
@@ -74,16 +99,15 @@ public class Codierer {
 
 	/**
 	 * Hier wird ein neuer Spruchschlüssel generiert.
+	 * <p>
 	 * Mit diesem werden die Walzen auf eine neue Startposition gestellt und dem Kopf, mit dem
 	 * Tagesschlüssel codiert, hinzugefügt.
-	 * <p>
+	 * <br>
 	 * Hierfür wird mittels der Funktion "randomBuchstabe" ein zufälliger Buchstabe generiert,
-	 * und geschaut ob dieser bereits in der globalen Variable this.spruchschluessel vorhanden ist.
+	 * und geschaut ob dieser bereits in der globalen Variable (this.spruchschluessel) vorhanden ist.
 	 * Wenn nicht, wird der Buchstabe dem Spruchschlüssel hinzugefügt.
-	 * <p>
+	 * <br>
 	 * Dies wir nun so lange gemacht bis der Spruchschlüssel eine länge von drei Zeichen hat.
-	 * <p>
-	 * TODO: Doku aktuallisieren
 	 */
 	public void generateSpruchschluessel() {
 
@@ -104,21 +128,13 @@ public class Codierer {
 		this.hardware.setzePosition(1, this.spruchschluessel.charAt(1));
 		this.hardware.setzePosition(2, this.spruchschluessel.charAt(2));
 
-		// Die Kenngruppe codieren
-		this.kenngruppeCodiert = this.codiere(this.kenngruppe, true);
+		// Die Kenngruppe codieren und in der Nachricht speichern
+		this.codiere(this.kenngruppe, true);
 	}
 
 	/**
-	 * TODO: Dokumentieren
-	 *
-	 * @return String : Der codierte Spruchschlüssel
-	 */
-	public String getSpruchschluesselCodiert() {
-		return this.spruchschluesselCodiert;
-	}
-
-	/**
-	 * TODO: Dokumentieren
+	 * Der Spruchschlüssel wird, zur internen Verwendung, auch im Klartext gespeichert.
+	 * Wir brauchen diesen dann zum codieren der eigentlichen Nachricht.
 	 *
 	 * @return String : Der klartext Spruchschlüssel
 	 */
@@ -127,14 +143,14 @@ public class Codierer {
 	}
 
 	/**
-	 * TODO: Dokumentieren
+	 * Erstellen des Nachrichten Kopfes.
+	 * Hierfür wird die aktuelle Uhrzeit ausgelesen, die Länge der Nachricht sowie der, mit den
+	 * Tagescodes codierte, Spruchschlüssel.
 	 */
 	private String generateKopf() {
 		Calendar cal = Calendar.getInstance();
 
 		// Uhrzeit an den Kopf hängen
-		// TODO: Da gab es doch noch eine besser Lösung für den Korrekturfaktor der Uhrzeit?
-
 		return String.format("%02d%02d", cal.get(Calendar.HOUR), cal.get(Calendar.MINUTE)) + " " +
 
 				// Zeichen Anzahl der Nachricht
@@ -142,9 +158,6 @@ public class Codierer {
 
 				// Spruchschlüssel anhängen
 				this.spruchschluesselCodiert.substring(0, 3) + " " + this.spruchschluesselCodiert.substring(3, 6) + " ";
-
-				// Kenngruppe an das Ende setzen
-				//this.kenngruppeCodiert;
 	}
 
 	/**
@@ -173,7 +186,7 @@ public class Codierer {
 	/**
 	 * Gibt die letzte empfangene Nachricht zurück
 	 * <br>
-	 * String[0} Tag wann die Nachricht gesendet wurde
+	 * String[0] Tag wann die Nachricht gesendet wurde
 	 * String[1] = Die verschlüsselte Nachricht
 	 * String[2] = Nachricht im Klartext
 	 */
@@ -181,13 +194,26 @@ public class Codierer {
 
 		this.nachricht = "";
 		Morsecode mc = new Morsecode();
-		String[] nachricht = new String[3];
+		String[] nachricht = new String[4];
 		String[] codierteNachricht = new Funkraum().empfangeFunkspruch(this.kenngruppe);
 
 		if (codierteNachricht[1] != null) {
 			nachricht[0] = codierteNachricht[0];
 			nachricht[1] = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]);
 			nachricht[2] = this.decodiere(nachricht[1], Integer.parseInt(nachricht[0]));
+			StringBuilder sb = new StringBuilder();
+
+			sb.append(nachricht[1], 0, 16);
+			for (int i = 17; i <= nachricht[1].length(); ) {
+				if ((i + 5) < nachricht[1].length()) {
+					sb.append(nachricht[1], i, i + 5).append(" ");
+					i += 5;
+				} else {
+					sb.append(nachricht[1].substring(i));
+					break;
+				}
+			}
+			nachricht[1] = sb.toString();
 		}
 
 		return nachricht;
@@ -227,7 +253,7 @@ public class Codierer {
 	/**
 	 * Gibt die aktuellen Buchstaben auf den Walzen zurück
 	 *
-	 * @return
+	 * @return char[] : Walzen Array mit der aktuellen Position
 	 */
 	public char[] getWalzen() {
 		char[] walzen = new char[3];
@@ -239,23 +265,17 @@ public class Codierer {
 	}
 
 	/**
-	 * Setzt ein neues Hardware Objekt
+	 * Hier wird ein einzelner Buchstabe verschlüsselt.
+	 * Man muss hier ebenfalls mitgeben ob der codierte String in Codierer.nachricht gespeichert werden soll oder nicht.
+	 * In der Regel ist dies der Fall.
 	 *
-	 * @param hardware : Hardware
-	 */
-	public void setHardware(Hardware hardware) {
-		this.hardware = hardware;
-	}
-
-	/**
-	 * TODO: Dokumentieren
-	 *
-	 * @param buchstabe
-	 * @return
+	 * @param buchstabe : char : Der zu codierende Buchstabe
+	 * @param save      : boolean : Nachricht speichern oder nicht
+	 * @return char     : Der codierte Buchstabe
 	 */
 	public char codiere(char buchstabe, boolean save) {
 		char codiert = this.hardware.codiere(buchstabe);
-		if(save) {
+		if (save) {
 			this.nachricht += codiert;
 		}
 
@@ -263,10 +283,13 @@ public class Codierer {
 	}
 
 	/**
-	 * TODO: Dokumentieren
-	 * @param klartext
-	 * @param save
-	 * @return
+	 * Codiert den Übergebenen String.
+	 * Man muss hier ebenfalls mitgeben ob der codierte String in Codierer.nachricht gespeichert werden soll oder nicht.
+	 * In der Regel ist dies der Fall.
+	 *
+	 * @param klartext : String : Der zu codierende Text
+	 * @param save     : boolean : Nachricht speichern oder nicht
+	 * @return String : Der codierte Text zusätzlich als Rückgabe
 	 */
 	public String codiere(String klartext, boolean save) {
 
@@ -280,7 +303,9 @@ public class Codierer {
 	}
 
 	/**
-	 * TODO: Dokumentieren
+	 * Diese Funktion erwartet als (codierteNachricht) eine korrekte Enigma Nachricht.
+	 * Ihr muss auch der Tag der codierung mitgegeben werden. Dieser weiß dein Funker im Funkraum.
+	 * In der Regel ist dies der Tag des Nachrichten empfangs.
 	 *
 	 * @param codierteNachricht : String : Enigma codierte Nachricht
 	 * @param tag               : int : Tag der Nachricht
@@ -290,11 +315,13 @@ public class Codierer {
 
 		// Hardware reseten und Tageseinstellungen aus dem Codebuch laden
 		this.initialisiereHardware();
-		this.codebuch.getTagesschluessel(tag);
+		this.codebuch.fetchTagesschluessel(tag);
 
 		String[] nachricht = codierteNachricht.split(" ");
 		StringBuilder sb = new StringBuilder();
 
+		System.out.println(Arrays.toString(nachricht));
+
 		// Uhrzeit
 		sb.append(nachricht[0]).append(" ");
 
@@ -318,11 +345,13 @@ public class Codierer {
 	}
 
 	/**
-	 * TODO: Dokumentieren
-	 * @param nachricht
-	 * @return
+	 * Zerlegt den übergebenen String in einen char Array und decodiert jedes Zeichen.
+	 * Der String wird dann decodiert zurück gegeben.
+	 *
+	 * @param nachricht : String : Der zu decodierende Text
+	 * @return String : Der decodierte Text
 	 */
-	public String decodiereString(String nachricht) {
+	private String decodiereString(String nachricht) {
 
 		StringBuilder sb = new StringBuilder();
 
@@ -336,11 +365,103 @@ public class Codierer {
 	}
 
 	/**
-	 * TODO: Dokumentieren
+	 * Setzt die Enigma auf die Einstellungen des aktuellen Tages, aus dem Codebuch zurück.
 	 */
 	public void resetHardware() {
-
 		this.initialisiereHardware();
 	}
 
+	/**
+	 * Setzt den anzuzeigenden Buchstaben (buchstabe) auf der Walze (wlazenPosition)
+	 * TODO: Wenn die Walzen, Notches, Kabel, etc. verändert werden, muss die bisherige Nachricht (this.nachricht) gelöscht werden.
+	 *
+	 * @param walzenPosition : int : Nummer der Walze
+	 * @param buchstabe      : char : Buchstabe der zugewiesen soll
+	 */
+	public void setWalze(int walzenPosition, char buchstabe) {
+		this.hardware.setzePosition(walzenPosition, buchstabe);
+	}
+
+	/**
+	 * Setzt den Ring auf der Walze auf einen neuen Umstprungwert.
+	 *
+	 * @param walzenPosition : int : Walze auf die der Ring gesteckt wird
+	 * @param umsprungPunkt  : int : Buchstabe auf dem der Notch sitzt
+	 */
+	public void setRing(int walzenPosition, int umsprungPunkt) {
+		this.hardware.setzeRing(walzenPosition, umsprungPunkt);
+	}
+
+	/**
+	 * Setzt die Walze (walzeNr) in die Position (walzenPosition) der Enigma ein.
+	 * Mit (ringstellung) gibt man die Position des Umsprungpunktes an.
+	 *
+	 * @param walzenPosition : int : Position der Walze in der Enigma (1-2-3)
+	 * @param walzeNr        : int : Nummer der Walze die eingesetzt wird
+	 * @param ringstellung   : int : Stellung des Ringes
+	 */
+	public void setWalzeNr(int walzenPosition, int walzeNr, int ringstellung) {
+		this.hardware.setzeWalzenNr(walzenPosition, walzeNr, ringstellung);
+	}
+
+	/**
+	 * Setzt das Kabel in beide Ports ein und fügt es dem Steckbrett Array hinzu.
+	 * @param port          : int : Kabel Nummer welches am Steckbrett eingesteckt wird
+	 * @param verbindung    : String : Verbindung welche die vertauschten Buchstaben angibt
+	 * @return
+	 */
+	public boolean setSteckbrett(int port, String verbindung) {
+		return this.hardware.getSteckbrett().setzeVertauschung(port, verbindung.charAt(0), verbindung.charAt(1));
+	}
+
+	/**
+	 * Prüft ob der Port auf den das Kabel gesteckt werden soll, noch frei ist.
+	 * <p>
+	 * setSteckbrett ausführen mit beiden Buchstaben als String
+	 *
+	 * @param buchstabe : char : Der zuletzt eingegebene Buchstabe
+	 * @return boolean : Wenn der Buchstabe nicht vorhanden ist, wird true zurückgegeben, ansonsten false
+	 */
+	public boolean pruefeSteckbrettPort(char buchstabe) {
+		return this.hardware.getSteckbrett().ueberpruefeVertauschungen(buchstabe);
+	}
+
+	/**
+	 * Ließt aus der empfangenen Nachricht den Spruchschlüssel aus und gibt ihn zurück.
+	 *
+	 * @param empfangeneNachricht : String : Die empfangene Nachricht als String
+	 * @return String : Der Spruchschlüssel mit welcher die Nachricht codiert wurde.
+	 */
+	public String empfangenerSpruchschluessel(String empfangeneNachricht) {
+		String[] nachricht = empfangeneNachricht.split(" ");
+
+		return nachricht[2];
+	}
+
+	/**
+	 * Gibt die Ringstellungen aus dem Codebuch zurück
+	 *
+	 * @return int[] : Array mit den Ringstellungen der drei eingesetzten Walzen
+	 */
+	public int[] fetchRingstellung() {
+		return this.codebuch.getRingstellung();
+	}
+
+	/**
+	 * Gibt die Walzennummer aus dem Codebuch zurück
+	 *
+	 * @return int[] : Array mit den Nummern der drei eingesetzten Walzen
+	 */
+	public int[] getchWalzenNr() {
+		return this.codebuch.getWalzenlage();
+	}
+
+	/**
+	 * Gibt die Steckverbindungen aus dem Codebuch zurück
+	 *
+	 * @return char[][] : Array mit den gesteckten Verbindungen im Steckbrett
+	 */
+	public char[][] getSteckverbindungen() {
+		return this.codebuch.getSteckverbindung();
+	}
 }
diff --git a/src/main/java/enigma/model/Funkraum.java b/src/main/java/projekt/enigma/model/Funkraum.java
similarity index 99%
rename from src/main/java/enigma/model/Funkraum.java
rename to src/main/java/projekt/enigma/model/Funkraum.java
index d3fe2883fd86fb468ce832cfd64cf460176b6a99..96a3a35b3fa9391afad8d5193ff4923bb368c391 100644
--- a/src/main/java/enigma/model/Funkraum.java
+++ b/src/main/java/projekt/enigma/model/Funkraum.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpException;
diff --git a/src/main/java/enigma/model/Hardware.java b/src/main/java/projekt/enigma/model/Hardware.java
similarity index 99%
rename from src/main/java/enigma/model/Hardware.java
rename to src/main/java/projekt/enigma/model/Hardware.java
index 1842e1e6725e2cf6c1aa669db1a9e85ac6b6d818..b37ddd166c98d2274e0722e401418c81d354bc16 100644
--- a/src/main/java/enigma/model/Hardware.java
+++ b/src/main/java/projekt/enigma/model/Hardware.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 /**
  * In dieser Klasse wird die Hardware zusammen gefasst.
diff --git a/src/main/java/enigma/model/Morsecode.java b/src/main/java/projekt/enigma/model/Morsecode.java
similarity index 99%
rename from src/main/java/enigma/model/Morsecode.java
rename to src/main/java/projekt/enigma/model/Morsecode.java
index 01df55dcd0c655202208e050cf11cb4d75af4971..7d99652547325b95631bb82dc8216ff4bdf5bc25 100644
--- a/src/main/java/enigma/model/Morsecode.java
+++ b/src/main/java/projekt/enigma/model/Morsecode.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 import java.util.*;
 import java.util.Map.Entry;
diff --git a/src/main/java/enigma/model/Reflektor.java b/src/main/java/projekt/enigma/model/Reflektor.java
similarity index 63%
rename from src/main/java/enigma/model/Reflektor.java
rename to src/main/java/projekt/enigma/model/Reflektor.java
index 4aabb1b6841b475125ee7fd8c5df1feb0a158f86..9e5e6b1424852c8ee063179f8a8d216aac9c969a 100644
--- a/src/main/java/enigma/model/Reflektor.java
+++ b/src/main/java/projekt/enigma/model/Reflektor.java
@@ -1,43 +1,41 @@
-package enigma.model;
+package projekt.enigma.model;
 
 /**
  * Klasse Reflektor
- * <p>
+ * <br>
  * Der Reflektor nimmt einen Buchstaben der Klasse Walze entgegen und und kodiert diesen.
  * Der kodierte Buchstabe wird an die Klasse Walze wieder zurückgegeben.
- * <p>
- * Prinzipiell verhält sich die Klasse Refelktor wie die Klasse Walze, außer das sie sich
- * nach Betätigung einer Taste nicht dreht (starr montiert) und sie gibt keine Signale
+ * <br>
+ * Prinzipiell verhält sich die Klasse Reflektor wie die Klasse Walze, außer das sie sich
+ * nach Betätigung einer Taste nicht dreht (quasi starr montiert ist) und sie gibt keine Signale
  * an andere Walzen zum drehen.
  */
 public class Reflektor {
 
     /**
-     * Konstanten und Variablen der Klasse Reflektor
-     * <p>
      * WALZE_ALPHABET : konstanter Char-Array mit den Werten des Alphabeths (26 Werte)
-     * WALZE_REFLEKTOR : konstanter Char-Array mit den Werten des Reflektors (26 Werte)
-     * reflektorBuchstabeRein : Character mit dem an die Klasse übergebenen Character
-     * reflektorBuchstabeRaus : Character nach der Codierung in der Klasse Reflektor
-     * iPositionReflektor : Integer mit der Positionsnummer des Characters im Array
      */
     private final Character[] WALZE_ALPHABET = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
+
+    /**
+     * WALZE_REFLEKTOR : konstanter Char-Array mit den Werten des Reflektors (26 Werte)
+     */
     private final Character[] WALZE_REFLEKTOR = {'E', 'J', 'M', 'Z', 'A', 'L', 'Y', 'X', 'V', 'B', 'W', 'F', 'C', 'R', 'Q', 'U', 'O', 'N', 'T', 'S', 'P', 'I', 'K', 'H', 'G', 'D'};
 
 
     /**
-     * Funktion Codiere
-     * <p>
+     * Funktion codiere
+     * <br>
      * Durchsucht das konstante Char-Array WALZE_ALPHABET nach der Position eines bestimmten
      * Buchstabens und gibt den Character an der entsprechenden Position im konstanten
      * Char-Array WALZE_REFLEKTOR zurück.
      *
-     * @return reflektorBuchstabeRaus: Character: Der kodierte Buchstabe aus dem Reflektor
+     * @return WALZE_REFLEKTOR[iPositionReflektor]: Character: Der kodierte Buchstabe aus dem Reflektor
      */
     public char codiere(Character buchstabe) {
         int iPositionReflektor = 0;
 
-        /*Ermittelt die Position des Buchstaben buchstabe auf der Alphabetswalze*/
+        //Ermittelt die Position des Buchstaben "buchstabe" auf der Alphabetswalze
         for (int index = 0; index < WALZE_ALPHABET.length; index++) {
             if (buchstabe.equals(WALZE_ALPHABET[index])) {
                 iPositionReflektor = index;
@@ -45,8 +43,6 @@ public class Reflektor {
             }
         }
 
-        /*Im Char-Array WALZE_REFLEKTOR wird der Character an der Position iPositionReflektor ausgegeben*/
         return WALZE_REFLEKTOR[iPositionReflektor];
     }
-
 }
diff --git a/src/main/java/projekt/enigma/model/Steckbrett.java b/src/main/java/projekt/enigma/model/Steckbrett.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1fbfcb792783d7e83034fa45d3996a0a0d4011a
--- /dev/null
+++ b/src/main/java/projekt/enigma/model/Steckbrett.java
@@ -0,0 +1,151 @@
+package projekt.enigma.model;
+
+/**
+ * Klasse Steckbrett
+ * <br>
+ * Das Steckbrett diente dazu Buchstaben paarweise zu vertauschen noch bevor diese durch die Walzen codiert werden.
+ * Die Klasse Steckbrett nimmt bis zu 10 paarweise zu vertauschende Buchstabenpaare entgegen, prueft diese auf
+ * Zulaessigkeit und tauscht diese dann paarweise aus.
+ */
+public class Steckbrett {
+
+	/**
+	 * zaehler: Int, der als Laufvariable genutzt wird
+	 */
+	private int zaehler;
+
+	/**
+	 * orginalBuchstaben: Character-Array, der jeweils den ersten zu vertauschenden Buchstaben enthält
+	 */
+	private Character[] orginalBuchstaben;
+
+	/**
+	 * getauschteBuchstaben: Character-Array, der jeweils den zweiten zu vertauschenden Buchstaben enthält
+	 */
+	private Character[] getauschteBuchstaben;
+
+
+	/**
+	 * Konstruktor Steckbrett
+	 * <br>
+	 * Erzeugt zwei Charakter-Arrays (orginalBuchstaben und getauschteBuchstaben) der Länge 10.
+	 */
+	public Steckbrett() {
+
+		orginalBuchstaben = new Character[10];
+		getauschteBuchstaben = new Character[10];
+	}
+
+	/**
+	 * Funktion setzeVertauschung
+	 * <br>
+	 * Der Funktion setzeVertauschung werden 2 Buchstaben (buchstabe1 und buchstabe2) übergeben.
+	 * Zuerst wird überprüft ob einer der beiden Buchstaben bereits enthalten ist, was unzulässig wäre.
+	 * <br>
+	 * Anschließend wird:
+	 * <p>
+	 *     buchstabe1 in das Array orginalBuchstaben auf den nächsten, freien Index geschrieben
+	 *     buchstabe2 in das Array getauschteBuchstaben auf den nächsten, freien Index geschrieben.
+	 * </p>
+	 *
+	 * @param buchstabe1 : char: Gibt den ersten Buchstaben an, der getauscht werden soll.
+	 * @param buchstabe2 : char: gibt den zweiten Buchstaben an, mit dem der erste getauscht werden soll.
+	 * @return boolean : Wenn die Vertauschung zulässig ist, true, ansonsten false
+	 */
+	public boolean setzeVertauschung(char buchstabe1, char buchstabe2) {
+
+		if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2)) {
+			return false;
+		} else {
+			if (zaehler < orginalBuchstaben.length) {
+				orginalBuchstaben[zaehler] = buchstabe1;
+				getauschteBuchstaben[zaehler++] = buchstabe2;
+
+				return true;
+			} else {
+				return false;
+			}
+		}
+	}
+
+	/**
+	 * Funktion setzeVertauschung mit angabe eines Ports von 1 - 10
+	 * <br>
+	 * Der Funktion setzeVertauschung werden 2 Buchstaben (buchstabe1 und buchstabe2) sowie der Port übergeben.
+	 * Zuerst wird überprüft ob einer der beiden Buchstaben bereits enthalten ist, was unzulässig wäre.
+	 * <br>
+	 * Anschließend wird:
+	 * <p>
+	 *     buchstabe1 in das Array orginalBuchstaben auf den Index (steckbrettPort) geschrieben
+	 *     buchstabe2 in das Array getauschteBuchstaben auf den Index (steckbrettPort) geschrieben.
+	 * </p>
+	 *
+	 * @param buchstabe1 : char: Gibt den ersten Buchstaben an, der getauscht werden soll.
+	 * @param buchstabe2 : char: gibt den zweiten Buchstaben an, mit dem der erste getauscht werden soll.
+	 * @return boolean : Wenn die Vertauschung zulässig ist, true, ansonsten false
+	 */
+	public boolean setzeVertauschung(int steckbrettPort, char buchstabe1, char buchstabe2) {
+
+		if (!ueberpruefeVertauschungen(buchstabe1) && !ueberpruefeVertauschungen(buchstabe2)) {
+			return false;
+		} else {
+			orginalBuchstaben[steckbrettPort - 1] = buchstabe1;
+			getauschteBuchstaben[steckbrettPort - 1] = buchstabe2;
+
+			return true;
+		}
+
+	}
+
+	/**
+	 * Funktion ueberpruefeVertauschungen
+	 * <br>
+	 * Die Funktion ueberpruefeVertauschungen prueft ob der übergebene Buchstabe bereits in den beiden Arrays
+	 * (orginalBuchstaben) und (getauschteBuchstaben) vorhanden ist.
+	 * Eine Buchstabenvertauschung ist zulaessig, wenn keine Dopplungen der zu vertauschenden Buchstaben auftritt
+	 * (ein Buchstabe nicht mehrmals vertauscht wird).
+	 *
+	 * @return boolean :    Wenn false, dann darf der Buchstabe genutzt werden.
+	 * Wenn er schon vorhanden ist, wird true zurück gegeben
+	 */
+	public boolean ueberpruefeVertauschungen(char buchstabe) {
+
+		boolean result = false;
+
+		for (char c : orginalBuchstaben) {
+			if (c == buchstabe) {
+				result = true;
+				break;
+			}
+		}
+		for (char c : getauschteBuchstaben) {
+			if (c == buchstabe) {
+				result = true;
+				break;
+			}
+		}
+
+		return result;
+	}
+
+	/**
+	 * Funktion codiere
+	 * <br>
+	 * Die Funktion codiere tauscht den uebergebenen Character buchstabe mit dem zu tauschenden Character aus.
+	 *
+	 * @param buchstabe : Character : Buchstabe der codiert werden soll.
+	 * @return buchstabe : Character : Codierter Buchstabe.
+	 */
+	public char codiere(Character buchstabe) {
+		for (int index = 0; index < getauschteBuchstaben.length; index++) {
+			if (buchstabe.equals(getauschteBuchstaben[index])) {
+				buchstabe = orginalBuchstaben[index];
+			} else if (buchstabe.equals(orginalBuchstaben[index])) {
+				buchstabe = getauschteBuchstaben[index];
+			}
+		}
+
+		return buchstabe;
+	}
+
+}
diff --git a/src/main/java/projekt/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java
new file mode 100644
index 0000000000000000000000000000000000000000..51bf3a8b377e37edaa1e303a21409f0dea83c87f
--- /dev/null
+++ b/src/main/java/projekt/enigma/model/Walze.java
@@ -0,0 +1,268 @@
+package projekt.enigma.model;
+
+/**
+ * Klasse Walze
+ * <br>
+ * Erzeugt ein Objekt des Typs Walze mit den Eigenschaften:
+ * <br>
+ * 1. Walzennummer (Die Walze enthält die 26 Buchstaben des Alphabeths und codiert diese.
+ * 5 verschiedene Walzen stehen zur Auswahl, die jeweils verschieden die Buchstaben des Alphabeths
+ * paarweise vertauschen)
+ * <br>
+ * 2. Ringstellung (Umspringpunkt der Walze wird festgelegt. Der Umspringpunkt bestimmt
+ * den Drehzeitpunkt der linken Nachbarwalze)
+ */
+public class Walze {
+
+    /**
+     * walzeAlpha : Character[] : Array, dass die Buchstaben des Alphabets enthaelt
+     */
+    private Character[] alphabet;
+
+	/**
+	 * ringstellung : char : zeigt die Einstellung fuer den Umspringpunkt
+	 */
+	private char ringstellung;
+
+	/**
+	 *  walzennr : int : Bestimmt, welche Walze genutzt wird
+	 */
+    private int walzennr;
+
+	/**
+	 *  alphabet : Character[] : Enthaelt die Buchstaben des Alphabets. Wird im Laufe des Programmes
+	 *  aber immer wieder ueberschrieben.
+	 */
+    private Character[] walzeAlpha;
+
+    /**
+     * Ueberschriebener Konstruktor, der die Eingangsparameter der Walze mitgibt
+     *
+     * @param walzennr     : int : Nummer der gewaehlten Walze
+     * @param ringstellung : int : Einstellung des Umsprungpunktes
+     */
+    public Walze(int walzennr, int ringstellung) {
+        this.alphabet = new Character[]{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+                                        'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
+        this.walzeAlpha = new Character[]{'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+                                          'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};
+
+        this.setWalzennr(walzennr);
+        this.setRingstellung(ringstellung);
+    }
+
+    /**
+     * Sortiert der Walzennummer das passende Character-Array mittels switch zu.
+     *
+     * @return walze : Character[] : gibt die gewaehlte Walze zurueck
+     */
+    private Character[] walzenNummer() {
+        Character[] walze = new Character[26];
+
+        // Character-Arrays fuer die Codierung jeder Walze
+        Character[] walzeEins = {'E', 'K', 'M', 'F', 'L', 'G', 'D', 'Q', 'V', 'Z', 'N', 'T', 'O', 'W', 'Y',
+                                 'H', 'X', 'U', 'S', 'P', 'A', 'I', 'B', 'R', 'C', 'J'};
+        Character[] walzeZwei = {'A', 'J', 'D', 'K', 'S', 'I', 'R', 'U', 'X', 'B', 'L', 'H', 'W', 'T', 'M',
+                                 'C', 'Q', 'G', 'Z', 'N', 'P', 'Y', 'F', 'V', 'O', 'E'};
+        Character[] walzeDrei = {'B', 'D', 'F', 'H', 'J', 'L', 'C', 'P', 'R', 'T', 'X', 'V', 'Z', 'N', 'Y',
+                                 'E', 'I', 'W', 'G', 'A', 'K', 'M', 'U', 'S', 'Q', 'O'};
+        Character[] walzeVier = {'E', 'S', 'O', 'V', 'P', 'Z', 'J', 'A', 'Y', 'Q', 'U', 'I', 'R', 'H', 'X',
+                                 'L', 'N', 'F', 'T', 'G', 'K', 'D', 'C', 'M', 'W', 'B'};
+        Character[] walzeFuenf = {'V', 'Z', 'B', 'R', 'G', 'I', 'T', 'Y', 'U', 'P', 'S', 'D', 'N', 'H', 'L',
+                                  'X', 'A', 'W', 'M', 'J', 'Q', 'O', 'F', 'E', 'C', 'K'};
+
+        switch (this.walzennr) {
+            case 1:
+                walze = walzeEins;
+                break;
+            case 2:
+                walze = walzeZwei;
+                break;
+            case 3:
+                walze = walzeDrei;
+                break;
+            case 4:
+                walze = walzeVier;
+                break;
+            case 5:
+                walze = walzeFuenf;
+                break;
+        }
+
+        return walze;
+    }
+
+    /**
+     * TODO: Dokumentieren
+     *
+     * @return ringstellung : char : gibt die neue Ringstellung als char zurueck
+     */
+    public char getRingstellung() {
+        return ringstellung;
+    }
+
+    /**
+     * Setzt die Initiale Ringstellung der Walze.
+     * Es sind nur Zahlen von 1 - 26 zugelassen.
+	 *
+	 * Die Ringstellung wird zum char umgewandelt.
+     * Im Fehlerfall wird die Ringstellung standardmaessig auf 'Z' gesetzt.
+     *
+     * @param ringstellung : int : Punkt an dem die Walze umspringt
+     */
+    //TODO ??? Setter Ringstellung
+    public void setRingstellung(int ringstellung) {
+        if ((ringstellung > 0) && (ringstellung <= 26)) {
+            this.ringstellung = this.alphabet[ringstellung - 1];
+        } else {
+            this.ringstellung = 'Z';
+        }
+    }
+
+    /**
+     * Dreht die Walze: verschiebt das Alphabet um keine, eine oder mehrere Stellen und ueberschreibt
+	 * das Array alphabet mit der neuen Anordnung.
+	 *
+	 * Ueberprueft, ob der Umspringpunkt der Walze nach der Drehung erreicht wurde.
+	 *
+	 * @param drehung : int[] : Anzahl der Drehungen
+	 * @return checkRing : boolean : gibt true zurueck wenn der Umspringpunkt erreicht wurde
+     * TODO: Doku
+     */
+    public boolean dreheWalze(int... drehung) {
+        boolean checkRing = false;
+
+        // fuehrt die Verschiebung des Alphabets um eine Stelle durch
+        verschiebung();
+
+        // fuehrt die Verschiebung mehrfach aus, wenn mehrere Drehungen ausgefuehrt werden sollen
+        if (drehung.length > 0) {
+            for (int i = 1; i < drehung[0]; i++) {
+                verschiebung();
+            }
+        }
+
+        // gleicht die Ringstellung mit der aktuellen Position ab
+        if (this.getPosition().equals(this.ringstellung)) {
+            checkRing = true;
+        }
+
+        return checkRing;
+    }
+
+    /**
+	 * Ueberschreibt die Alphabetswalze mit dem, durch die Drehung, verschobenen Alphabet.
+     * TODO: Dokumentieren
+     */
+    private void verschiebung() {
+        Character[] neueWalze = new Character[26];
+
+        for (int index = 0; index < neueWalze.length; index++) {
+            neueWalze[(index + 1) % neueWalze.length] = this.walzeAlpha[index];
+        }
+
+        this.walzeAlpha = neueWalze;
+    }
+
+    /**
+     * TODO: Dokumentieren // dass selbe wie getPosition
+     * Gibt den Buchstaben zurueck der in der Walze aktuell eingestellt ist.
+	 *
+     * @return char an der Stelle temp des Alphabets
+     */
+    public char getAnzeige() {
+        int temp = this.fetchArrayIndex('A', this.walzeAlpha);
+        return this.alphabet[temp];
+    }
+
+    /**
+     * Codiert den mitgegebenen Buchstaben anhand der gewaehlten Walze.
+     *
+	 * @param buchstabe : char : Buchstabe, der verschluesselt werden soll
+     * @return buchstabe : char : verschluesselter Buchstabe
+     */
+    public char codiere(char buchstabe) {
+        /* durchsucht die (verschobene) Alphabetswalze nach dem aktuellen Buchstaben und
+        uebertraegt den Index auf die gewaehlte Codierwalze*/
+        buchstabe = walzenNummer()[fetchArrayIndex(buchstabe, walzeAlpha)];
+
+        return buchstabe;
+    }
+
+    /**
+     * Decodiert den mitgegebenen Buchstaben mit Hilfe der (verschobenen) Alphabetswalze
+     *
+	 * @param buchstabe : char : Buchstabe, der decodiert werden soll
+     * @return buchstabe : char : decodierter Buchstabe
+     */
+    public char codiere2(char buchstabe) {
+        /* durchsucht die gewaehlte Walze nach dem aktuellen Buchstaben und
+        uebertraegt den Index auf die (verschobene) Alphabetswalze*/
+		buchstabe = walzeAlpha[fetchArrayIndex(buchstabe, walzenNummer())];
+
+        return buchstabe;
+    }
+
+    /**
+     * TODO: Dokumentieren
+     * Ermittelt den Index eines Characters in einem Array ueber eine for-Schleife
+	 *
+     * @param buchstabe : Character : Buchstabe, dessen Index benoetigt wird
+     * @param array : Character[] : Array, in dem der Buchstabe vorkommen soll
+     * @return result : int : index des Buchstaben
+     */
+    private int fetchArrayIndex(Character buchstabe, Character[] array) {
+        // wird mit ungueltigem Wert initialisiert
+    	int result = -1;
+
+        for (int i = 0; i < array.length; i++) {
+            if (array[i].equals(buchstabe)) {
+                result = i;
+                break;
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * Setzt die Walzennummer. Es stehen fuenf Walze zur Auswahl.
+     *
+     * @param walzennr : int : Walzennummer
+     */
+    public void setWalzennr(int walzennr) {
+        if ((walzennr > 0) && (walzennr < 6)) {
+            this.walzennr = walzennr;
+        } else {
+            System.err.println("Keine gültige Walzennummer");
+        }
+    }
+
+    /**
+     * TODO: Dokumentieren // das selbe wie getAnzeig?
+	 * Gibt den Character zurueck, der aktuell in der Walze eingestellt ist
+     *
+     * @return Character am Index 0 des (verschobenen) Alphabets zurueck
+     */
+    public Character getPosition() {
+        return walzeAlpha[0];
+    }
+
+    /**
+     * 	 * TODO: Funktionsname hat sich geändert
+     * Gibt die Grundeinstellung der Walze ein. Nur Buchstaben von A - Z sind zugelassen.
+     * Buchstaben werden automatisch in Grossbuchstaben umgewandelt.
+     * Ist die Grundeinstellung nicht 'A', wird die Methode dreheWalze() aufgerufen.
+     *
+     * @param buchstabe : Character : Einstellung der Walze
+     */
+    public void setPosition(Character buchstabe) {
+        if (Character.isLetter(buchstabe)) {
+            buchstabe = Character.toUpperCase(buchstabe);
+            System.arraycopy(this.alphabet, 0, this.walzeAlpha, 0, this.alphabet.length);
+            if (buchstabe > 'A') {
+                dreheWalze(this.fetchArrayIndex(buchstabe, this.walzeAlpha));
+            }
+        }
+    }
+}
diff --git a/src/main/resources/enigma/gui.fxml b/src/main/resources/enigma/gui.fxml
deleted file mode 100644
index 32d90e59765987fa30ac32353d1ad2069c58e295..0000000000000000000000000000000000000000
--- a/src/main/resources/enigma/gui.fxml
+++ /dev/null
@@ -1,374 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<?import javafx.scene.control.Button?>
-<?import javafx.scene.control.Label?>
-<?import javafx.scene.control.MenuButton?>
-<?import javafx.scene.control.TextField?>
-<?import javafx.scene.layout.AnchorPane?>
-<?import javafx.scene.shape.Circle?>
-<?import javafx.scene.text.Font?>
-
-<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="677.0" prefWidth="967.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="enigma.GuiController">
-   <children>
-      <Circle fx:id="circQ" fill="#f0f3f5" layoutX="127.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circE" fill="#f0f3f5" layoutX="315.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circR" fill="#f0f3f5" layoutX="389.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circT" fill="#f0f3f5" layoutX="480.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circZ" fill="#f0f3f5" layoutX="561.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circU" fill="#f0f3f5" layoutX="647.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circI" fill="#f0f3f5" layoutX="736.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circO" fill="#f0f3f5" layoutX="814.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circA" fill="#f0f3f5" layoutX="162.0" layoutY="361.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circS" fill="#f0f3f5" layoutX="251.0" layoutY="361.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circD" fill="#f0f3f5" layoutX="329.0" layoutY="361.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circF" fill="#f0f3f5" layoutX="419.0" layoutY="361.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circG" fill="#f0f3f5" layoutX="502.0" layoutY="361.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circH" fill="#f0f3f5" layoutX="594.0" layoutY="361.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circJ" fill="#f0f3f5" layoutX="674.0" layoutY="361.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circK" fill="#f0f3f5" layoutX="763.0" layoutY="361.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circP" fill="#f0f3f5" layoutX="113.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circY" fill="#f0f3f5" layoutX="197.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circX" fill="#f0f3f5" layoutX="286.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circC" fill="#f0f3f5" layoutX="369.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circV" fill="#f0f3f5" layoutX="462.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circB" fill="#f0f3f5" layoutX="546.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circN" fill="#f0f3f5" layoutX="623.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circM" fill="#f0f3f5" layoutX="703.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circL" fill="#f0f3f5" layoutX="798.0" layoutY="416.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <Circle fx:id="circW" fill="#f0f3f5" layoutX="221.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
-      <AnchorPane layoutX="109.0" layoutY="631.0" prefHeight="25.0" prefWidth="787.0">
-         <children>
-            <TextField fx:id="tfStecker1" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker2" layoutX="80.0" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker3" layoutX="159.0" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker4" layoutX="239.0" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker5" layoutX="312.0" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker6" layoutX="392.0" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker7" layoutX="472.0" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker8" layoutX="552.0" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker9" layoutX="632.0" prefHeight="25.0" prefWidth="48.0" />
-            <TextField fx:id="tfStecker10" layoutX="712.0" prefHeight="25.0" prefWidth="48.0" />
-         </children>
-      </AnchorPane>
-      <MenuButton fx:id="mBtnWalzPos1" alignment="CENTER_RIGHT" contentDisplay="CENTER" layoutX="91.0" layoutY="76.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I">
-      </MenuButton>
-      <MenuButton fx:id="mBtnWalzPos3" alignment="CENTER_RIGHT" layoutX="208.0" layoutY="80.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I" textAlignment="CENTER">
-      </MenuButton>
-      <MenuButton fx:id="mBtnWalzPos2" alignment="CENTER_RIGHT" layoutX="152.0" layoutY="80.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I" textAlignment="CENTER">
-      </MenuButton>
-<!--      <MenuButton layoutX="93.0" layoutY="114.0" mnemonicParsing="false">-->
-<!--         <items>-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z1" text="1" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z2" text="2" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z3" text="3" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z4" text="4" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z5" text="5" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z6" text="6" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z7" text="7" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z8" text="8" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z9" text="9" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z10" text="10" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z11" text="11" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z12" text="12" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z13" text="13" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z14" text="14" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z15" text="15" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z16" text="16" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z17" text="17" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z18" text="18" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z19" text="19" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z20" text="20" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z21" text="21" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z22" text="22" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z23" text="23" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z24" text="24" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z25" text="25" />-->
-<!--            <MenuItem mnemonicParsing="false" onAction="#z26" text="26" />-->
-<!--         </items>-->
-<!--      </MenuButton>-->
-      <MenuButton fx:id="mBtnNotchPos3" alignment="CENTER_RIGHT" layoutX="208.0" layoutY="120.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER">
-      </MenuButton>
-      <MenuButton fx:id="mBtnNotchPos2" alignment="CENTER_RIGHT" layoutX="152.0" layoutY="120.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER">
-      </MenuButton>
-      <MenuButton fx:id="mBtnStartPos1" alignment="CENTER_RIGHT" layoutX="95.0" layoutY="157.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER">
-      </MenuButton>
-      <MenuButton fx:id="mBtnStartPos3" alignment="CENTER_RIGHT" layoutX="208.0" layoutY="160.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER">
-      </MenuButton>
-      <MenuButton fx:id="mBtnStartPos2" alignment="CENTER_RIGHT" layoutX="152.0" layoutY="160.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER">
-      </MenuButton>
-      <TextField fx:id="tfKlartext" editable="false" layoutX="280.0" layoutY="54.0" prefHeight="77.0" prefWidth="410.0" AnchorPane.bottomAnchor="546.0" AnchorPane.leftAnchor="280.0" AnchorPane.rightAnchor="277.0" AnchorPane.topAnchor="54.0" />
-      <TextField fx:id="tfCodiert" editable="false" layoutX="280.0" layoutY="149.0" prefHeight="77.0" prefWidth="410.0" AnchorPane.bottomAnchor="451.0" AnchorPane.leftAnchor="280.0" AnchorPane.rightAnchor="277.0" AnchorPane.topAnchor="149.0" />
-      <Button layoutX="730.0" layoutY="58.0" mnemonicParsing="false" onAction="#btnsenden" prefHeight="69.0" prefWidth="164.0" text="An Funker senden" AnchorPane.topAnchor="58.0" />
-      <Button layoutX="730.0" layoutY="153.0" mnemonicParsing="false" onAction="#btnempfangen" prefHeight="69.0" prefWidth="164.0" text="Funkspruch empfangen" />
-      <MenuButton fx:id="mBtnNotchPos1" alignment="CENTER_RIGHT" layoutX="93.0" layoutY="114.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER" />
-      <Label layoutX="29.0" layoutY="80.0" text="Walze" />
-      <Label layoutX="29.0" layoutY="127.0" text="Ringe" />
-      <Label layoutX="17.0" layoutY="164.0" text="Startposition" />
-      <Label layoutX="68.0" layoutY="226.0" prefHeight="17.0" prefWidth="172.0" text="Spruchschlüssel" />
-      <Label fx:id="lblE" alignment="CENTER" layoutX="300.0" layoutY="292.0" prefHeight="30.0" prefWidth="30.0" text="E" textAlignment="CENTER" AnchorPane.bottomAnchor="351.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblW" alignment="CENTER" layoutX="204.0" layoutY="291.0" prefHeight="36.0" prefWidth="30.0" text="W" AnchorPane.bottomAnchor="350.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblR" alignment="CENTER" layoutX="374.0" layoutY="292.0" prefHeight="30.0" prefWidth="30.0" text="R" textAlignment="CENTER" AnchorPane.bottomAnchor="351.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblT" alignment="CENTER" layoutX="463.0" layoutY="292.0" prefHeight="30.0" prefWidth="30.0" text="T" textAlignment="CENTER" AnchorPane.bottomAnchor="351.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblZ" alignment="CENTER" layoutX="548.0" layoutY="292.0" prefHeight="30.0" prefWidth="30.0" text="Z" textAlignment="CENTER" AnchorPane.bottomAnchor="351.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblO" alignment="CENTER" layoutX="801.0" layoutY="292.0" prefHeight="30.0" prefWidth="30.0" text="O" textAlignment="CENTER" AnchorPane.bottomAnchor="351.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblI" alignment="CENTER" layoutX="721.0" layoutY="292.0" prefHeight="30.0" prefWidth="30.0" text="I" textAlignment="CENTER" AnchorPane.bottomAnchor="351.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblU" alignment="CENTER" layoutX="630.0" layoutY="292.0" prefHeight="30.0" prefWidth="30.0" text="U" textAlignment="CENTER" AnchorPane.bottomAnchor="351.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblA" alignment="CENTER" layoutX="147.0" layoutY="346.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="A" AnchorPane.bottomAnchor="301.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblD" alignment="CENTER" layoutX="314.0" layoutY="346.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="D" AnchorPane.bottomAnchor="301.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblS" alignment="CENTER" layoutX="236.0" layoutY="346.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="S" AnchorPane.bottomAnchor="301.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblF" alignment="CENTER" layoutX="404.0" layoutY="346.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="F" AnchorPane.bottomAnchor="301.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblG" alignment="CENTER" layoutX="487.0" layoutY="346.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="G" AnchorPane.bottomAnchor="301.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblH" alignment="CENTER" layoutX="579.0" layoutY="346.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="H" AnchorPane.bottomAnchor="301.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblK" alignment="CENTER" layoutX="748.0" layoutY="346.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="K" AnchorPane.bottomAnchor="301.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblJ" alignment="CENTER" layoutX="659.0" layoutY="346.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="J" AnchorPane.bottomAnchor="301.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblP" alignment="CENTER" layoutX="97.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="P" AnchorPane.bottomAnchor="246.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblX" alignment="CENTER" layoutX="270.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="X" AnchorPane.bottomAnchor="246.0" AnchorPane.leftAnchor="270.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblY" alignment="CENTER" layoutX="181.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="Y" AnchorPane.bottomAnchor="246.0" AnchorPane.leftAnchor="181.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblC" alignment="CENTER" layoutX="353.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="C" AnchorPane.bottomAnchor="246.0" AnchorPane.leftAnchor="353.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblV" alignment="CENTER" layoutX="443.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="V" AnchorPane.bottomAnchor="246.0" AnchorPane.leftAnchor="443.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblB" alignment="CENTER" layoutX="527.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="B" AnchorPane.bottomAnchor="246.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblL" alignment="CENTER" layoutX="782.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="L" AnchorPane.bottomAnchor="246.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblM" alignment="CENTER" layoutX="687.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="M" AnchorPane.bottomAnchor="246.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Label fx:id="lblN" alignment="CENTER" layoutX="607.0" layoutY="401.0" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="N" AnchorPane.bottomAnchor="246.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Button fx:id="btnQ" layoutX="154.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Q" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font></Button>
-      <Label fx:id="lblQ" alignment="CENTER" layoutX="112.0" layoutY="292.0" prefHeight="30.0" prefWidth="30.0" text="Q" AnchorPane.bottomAnchor="351.0">
-         <font>
-            <Font size="23.0" />
-         </font>
-      </Label>
-      <Button fx:id="btnW" layoutX="243.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="W" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnE" layoutX="306.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="E" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnR" layoutX="381.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="R" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnT" layoutX="455.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="T" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnZ" layoutX="539.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Z" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnU" layoutX="623.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="U" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnI" layoutX="706.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="I" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnO" layoutX="791.0" layoutY="464.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="O" textFill="#fffdfd">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button layoutX="858.0" layoutY="517.0" mnemonicParsing="false" onAction="#löschen" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="&lt;" textFill="#fffdfd">
-         <font>
-            <Font size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnP" layoutX="152.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="P" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0" AnchorPane.leftAnchor="152.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnY" layoutX="229.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Y" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnX" layoutX="306.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="X" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnC" layoutX="382.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="C" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnV" layoutX="462.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="V" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnB" layoutX="539.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="B" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnN" layoutX="615.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="N" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnM" layoutX="706.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="M" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnL" layoutX="776.0" layoutY="573.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="L" textFill="#fffdfd" AnchorPane.bottomAnchor="60.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnA" layoutX="203.0" layoutY="517.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="A" textFill="#fffdfd" AnchorPane.bottomAnchor="116.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnS" layoutX="284.0" layoutY="517.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="S" textFill="#fffdfd" AnchorPane.bottomAnchor="116.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnD" layoutX="355.0" layoutY="517.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="D" textFill="#fffdfd" AnchorPane.bottomAnchor="116.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnF" layoutX="430.0" layoutY="517.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="F" textFill="#fffdfd" AnchorPane.bottomAnchor="116.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnG" layoutX="510.0" layoutY="517.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="G" textFill="#fffdfd" AnchorPane.bottomAnchor="116.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnH" layoutX="590.0" layoutY="517.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="H" textFill="#fffdfd" AnchorPane.bottomAnchor="116.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnJ" layoutX="670.0" layoutY="517.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="J" textFill="#fffdfd" AnchorPane.bottomAnchor="116.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Button fx:id="btnK" layoutX="740.0" layoutY="517.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="44.0" prefWidth="44.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="K" textFill="#fffdfd" AnchorPane.bottomAnchor="116.0">
-         <font>
-            <Font name="System Bold" size="18.0" />
-         </font>
-      </Button>
-      <Label layoutX="68.0" layoutY="205.0" prefHeight="17.0" prefWidth="172.0" text="Tagesschlüssel" />
-   </children>
-</AnchorPane>
diff --git a/src/main/resources/enigma/kenngruppe.fxml b/src/main/resources/enigma/kenngruppe.fxml
deleted file mode 100644
index 2494b0530fec509d2a3807969c43ca299537588c..0000000000000000000000000000000000000000
--- a/src/main/resources/enigma/kenngruppe.fxml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<?import javafx.scene.control.Button?>
-<?import javafx.scene.control.Label?>
-<?import javafx.scene.control.TextField?>
-<?import javafx.scene.layout.AnchorPane?>
-<?import javafx.scene.layout.Pane?>
-
-<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="257.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="enigma.KenngruppeController">
-   <children>
-      <Label layoutX="81.0" layoutY="29.0" text="Bitte Kenngruppe eingeben!" />
-      <Button fx:id="secondaryButton" layoutX="72.0" layoutY="178.0" onAction="#switchToPrimary" text="Kenngruppe bestätigen!" />
-      <Pane layoutX="14.0" layoutY="100.0" prefHeight="25.0" prefWidth="234.0">
-         <children>
-            <TextField prefHeight="25.0" prefWidth="71.0" />
-            <TextField layoutX="126.0" prefHeight="25.0" prefWidth="108.0" />
-         </children>
-      </Pane>
-   </children>
-</AnchorPane>
diff --git a/src/main/resources/enigma/codebuch.sqlite b/src/main/resources/projekt/enigma/codebuch.sqlite
similarity index 100%
rename from src/main/resources/enigma/codebuch.sqlite
rename to src/main/resources/projekt/enigma/codebuch.sqlite
diff --git a/src/main/resources/projekt/enigma/gui.fxml b/src/main/resources/projekt/enigma/gui.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..afcbb00cf3d4e6dacede96f74d58b64c61443626
--- /dev/null
+++ b/src/main/resources/projekt/enigma/gui.fxml
@@ -0,0 +1,630 @@
+<?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.ProgressBar?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.ColumnConstraints?>
+<?import javafx.scene.layout.FlowPane?>
+<?import javafx.scene.layout.GridPane?>
+<?import javafx.scene.layout.Pane?>
+<?import javafx.scene.layout.RowConstraints?>
+<?import javafx.scene.layout.TilePane?>
+<?import javafx.scene.layout.VBox?>
+<?import javafx.scene.shape.Circle?>
+<?import javafx.scene.text.Font?>
+
+<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="677.0" prefWidth="967.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projekt.enigma.GuiController">
+   <children>
+      <GridPane layoutY="313.0" prefHeight="393.0" prefWidth="968.0" AnchorPane.bottomAnchor="-7.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="313.0">
+        <columnConstraints>
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+          <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+            <ColumnConstraints hgrow="ALWAYS" minWidth="10.0" prefWidth="100.0" />
+        </columnConstraints>
+        <rowConstraints>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+            <RowConstraints maxHeight="63.0" minHeight="10.0" prefHeight="63.0" vgrow="SOMETIMES" />
+            <RowConstraints maxHeight="41.0" minHeight="10.0" prefHeight="29.0" vgrow="SOMETIMES" />
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+        </rowConstraints>
+         <children>
+            <TextField fx:id="tfStecker1" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="1" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker2" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="2" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker3" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="3" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker4" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="4" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker5" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="5" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker6" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="6" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker7" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="7" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker8" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="8" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker9" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="9" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <TextField fx:id="tfStecker10" prefHeight="25.0" prefWidth="48.0" GridPane.columnIndex="10" GridPane.rowIndex="7">
+               <GridPane.margin>
+                  <Insets left="10.0" right="10.0" />
+               </GridPane.margin>
+            </TextField>
+            <Button fx:id="btnM" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="M" textFill="#fffdfd" GridPane.columnIndex="9" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnN" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="N" textFill="#fffdfd" GridPane.columnIndex="8" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnB" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="B" textFill="#fffdfd" GridPane.columnIndex="7" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnV" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="V" textFill="#fffdfd" GridPane.columnIndex="6" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnC" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="C" textFill="#fffdfd" GridPane.columnIndex="5" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnX" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="X" textFill="#fffdfd" GridPane.columnIndex="4" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnY" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Y" textFill="#fffdfd" GridPane.columnIndex="3" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnP" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="P" textFill="#fffdfd" GridPane.columnIndex="2" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnL" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="L" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="6">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnK" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="K" textFill="#fffdfd" GridPane.columnIndex="9" GridPane.rowIndex="5">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets left="28.0" />
+               </GridPane.margin>
+            </Button>
+            <Button fx:id="btnJ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="J" textFill="#fffdfd" GridPane.columnIndex="8" GridPane.rowIndex="5">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets left="28.0" />
+               </GridPane.margin>
+            </Button>
+            <Button fx:id="btnH" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="H" textFill="#fffdfd" GridPane.columnIndex="7" GridPane.rowIndex="5">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets left="28.0" />
+               </GridPane.margin>
+            </Button>
+            <Button fx:id="btnG" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="G" textFill="#fffdfd" GridPane.columnIndex="6" GridPane.rowIndex="5">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets left="28.0" />
+               </GridPane.margin>
+            </Button>
+            <Button fx:id="btnF" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="F" textFill="#fffdfd" GridPane.columnIndex="5" GridPane.rowIndex="5">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets left="28.0" />
+               </GridPane.margin>
+            </Button>
+            <Button fx:id="btnD" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="D" textFill="#fffdfd" GridPane.columnIndex="4" GridPane.rowIndex="5">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets left="28.0" />
+               </GridPane.margin>
+            </Button>
+            <Button fx:id="btnS" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="S" textFill="#fffdfd" GridPane.columnIndex="3" GridPane.rowIndex="5">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets left="28.0" />
+               </GridPane.margin>
+            </Button>
+            <Button fx:id="btnO" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="O" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnI" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="I" textFill="#fffdfd" GridPane.columnIndex="9" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnU" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="U" textFill="#fffdfd" GridPane.columnIndex="8" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnZ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Z" textFill="#fffdfd" GridPane.columnIndex="7" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnT" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="T" textFill="#fffdfd" GridPane.columnIndex="6" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnR" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="R" textFill="#fffdfd" GridPane.columnIndex="5" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnE" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="E" textFill="#fffdfd" GridPane.columnIndex="4" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnW" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="W" textFill="#fffdfd" GridPane.columnIndex="3" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button fx:id="btnQ" minHeight="44.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="Q" textFill="#fffdfd" GridPane.columnIndex="2" GridPane.rowIndex="4">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+            <Button minHeight="44.0" mnemonicParsing="false" onAction="#loeschen" prefHeight="48.0" prefWidth="51.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="&lt;" textFill="#fffdfd" GridPane.columnIndex="10" GridPane.rowIndex="5">
+               <font>
+                  <Font size="18.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets left="28.0" />
+               </GridPane.margin>
+            </Button>
+            <Circle fx:id="circL" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="10" GridPane.rowIndex="2" />
+            <Circle fx:id="circM" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9" GridPane.rowIndex="2" />
+            <Circle fx:id="circN" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" GridPane.rowIndex="2" />
+            <Circle fx:id="circB" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" GridPane.rowIndex="2" />
+            <Circle fx:id="circV" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" GridPane.rowIndex="2" />
+            <Circle fx:id="circC" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" GridPane.rowIndex="2" />
+            <Circle fx:id="circX" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="4" GridPane.rowIndex="2" />
+            <Circle fx:id="circY" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" GridPane.rowIndex="2" />
+            <Circle fx:id="circP" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" GridPane.rowIndex="2" />
+            <Circle fx:id="circK" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9" GridPane.rowIndex="1">
+               <GridPane.margin>
+                  <Insets left="35.0" />
+               </GridPane.margin>
+            </Circle>
+            <Circle fx:id="circJ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" GridPane.rowIndex="1">
+               <GridPane.margin>
+                  <Insets left="35.0" />
+               </GridPane.margin>
+            </Circle>
+            <Circle fx:id="circH" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" GridPane.rowIndex="1">
+               <GridPane.margin>
+                  <Insets bottom="4.0" left="42.0" />
+               </GridPane.margin>
+            </Circle>
+            <Circle fx:id="circG" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" GridPane.rowIndex="1">
+               <GridPane.margin>
+                  <Insets left="35.0" />
+               </GridPane.margin>
+            </Circle>
+            <Circle fx:id="circF" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" GridPane.rowIndex="1">
+               <GridPane.margin>
+                  <Insets left="35.0" />
+               </GridPane.margin>
+            </Circle>
+            <Circle fx:id="circD" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="4" GridPane.rowIndex="1">
+               <GridPane.margin>
+                  <Insets left="35.0" />
+               </GridPane.margin>
+            </Circle>
+            <Circle fx:id="circS" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" GridPane.rowIndex="1">
+               <GridPane.margin>
+                  <Insets left="35.0" />
+               </GridPane.margin>
+            </Circle>
+            <Circle fx:id="circA" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" GridPane.rowIndex="1">
+               <GridPane.margin>
+                  <Insets left="35.0" />
+               </GridPane.margin>
+            </Circle>
+            <Circle fx:id="circO" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="10" />
+            <Circle fx:id="circI" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="9" />
+            <Circle fx:id="circU" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="8" />
+            <Circle fx:id="circZ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="7" />
+            <Circle fx:id="circT" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="6" />
+            <Circle fx:id="circR" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="5" />
+            <Circle fx:id="circE" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="4" />
+            <Circle fx:id="circW" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="3" />
+            <Circle fx:id="circQ" fill="#f0f3f5" radius="22.0" stroke="BLACK" strokeType="INSIDE" GridPane.columnIndex="2" />
+            <Label fx:id="lblL" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="L" GridPane.columnIndex="10" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblM" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="M" GridPane.columnIndex="9" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblN" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="N" GridPane.columnIndex="8" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblB" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="B" GridPane.columnIndex="7" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblV" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="V" GridPane.columnIndex="6" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblC" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="C" GridPane.columnIndex="5" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblX" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="X" GridPane.columnIndex="4" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblY" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="Y" GridPane.columnIndex="3" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblP" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="P" GridPane.columnIndex="2" GridPane.rowIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblK" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="K" GridPane.columnIndex="9" GridPane.rowIndex="1">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="4.0" left="42.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblJ" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="J" GridPane.columnIndex="8" GridPane.rowIndex="1">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="4.0" left="42.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblH" alignment="CENTER" minHeight="0.0" prefHeight="27.0" prefWidth="25.0" text="H" GridPane.columnIndex="7" GridPane.rowIndex="1">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="6.0" left="50.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblG" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="G" GridPane.columnIndex="6" GridPane.rowIndex="1">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="4.0" left="42.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblF" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="F" GridPane.columnIndex="5" GridPane.rowIndex="1">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="4.0" left="42.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblD" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="D" GridPane.columnIndex="4" GridPane.rowIndex="1">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="4.0" left="42.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblS" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="S" GridPane.columnIndex="3" GridPane.rowIndex="1">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="4.0" left="42.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblA" alignment="CENTER" minHeight="0.0" prefHeight="30.0" prefWidth="30.0" text="A" GridPane.columnIndex="2" GridPane.rowIndex="1">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="4.0" left="42.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblQ" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Q" GridPane.columnIndex="2">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblW" alignment="CENTER" prefHeight="36.0" prefWidth="30.0" text="W" GridPane.columnIndex="3">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="1.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblE" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="E" textAlignment="CENTER" GridPane.columnIndex="4">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblR" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="R" textAlignment="CENTER" GridPane.columnIndex="5">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblT" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="T" textAlignment="CENTER" GridPane.columnIndex="6">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblZ" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="Z" textAlignment="CENTER" GridPane.columnIndex="7">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblU" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="U" textAlignment="CENTER" GridPane.columnIndex="8">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblI" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="I" textAlignment="CENTER" GridPane.columnIndex="9">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <Label fx:id="lblO" alignment="CENTER" prefHeight="30.0" prefWidth="30.0" text="O" textAlignment="CENTER" GridPane.columnIndex="10">
+               <font>
+                  <Font size="23.0" />
+               </font>
+               <GridPane.margin>
+                  <Insets bottom="2.0" left="7.0" />
+               </GridPane.margin>
+            </Label>
+            <TilePane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="4" />
+            <VBox prefHeight="200.0" prefWidth="152.0" GridPane.columnIndex="11" />
+            <Button fx:id="btnA" minHeight="35.0" mnemonicParsing="false" onAction="#gedrueckteTaste" prefHeight="35.0" prefWidth="42.0" style="-fx-background-radius: 100; -fx-background-color: #0d0d0d;" text="A" textFill="#fffdfd" GridPane.columnIndex="2" GridPane.rowIndex="5">
+               <font>
+                  <Font name="System Bold" size="18.0" />
+               </font>
+            </Button>
+         </children>
+      </GridPane>
+      <AnchorPane layoutX="241.0" layoutY="130.0" prefHeight="111.0" prefWidth="487.0" AnchorPane.leftAnchor="241.0" AnchorPane.rightAnchor="240.0">
+         <children>
+            <VBox layoutX="72.0" layoutY="-89.0" prefHeight="210.0" prefWidth="377.0" AnchorPane.bottomAnchor="-10.0" AnchorPane.leftAnchor="72.0" AnchorPane.rightAnchor="37.0" AnchorPane.topAnchor="-89.0">
+               <children>
+                  <TextField fx:id="tfKlartext" editable="false" prefHeight="80.0" prefWidth="377.0" />
+                  <Label prefHeight="17.0" prefWidth="385.0" />
+                  <TextField fx:id="tfCodiert" editable="false" prefHeight="79.0" prefWidth="377.0" />
+                  <Label prefHeight="17.0" prefWidth="385.0" />
+                  <Label fx:id="lblLadeNachricht" alignment="BASELINE_CENTER" contentDisplay="CENTER" prefHeight="5.0" prefWidth="377.0" text="Neue Nachricht wird vom Funkraum abgerufen!" />
+                  <ProgressBar fx:id="pbLadeNachricht" prefHeight="10.0" prefWidth="377.0" progress="0.0" />
+               </children>
+            </VBox>
+         </children></AnchorPane>
+      <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" />
+            <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+          <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
+        </columnConstraints>
+        <rowConstraints>
+            <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+        </rowConstraints>
+         <children>
+            <Label text="Walze" />
+            <Label text="Ringe" GridPane.rowIndex="1" />
+            <Label text="Position" GridPane.rowIndex="2" />
+            <MenuButton fx:id="mBtnWalzPos1" alignment="CENTER_RIGHT" contentDisplay="CENTER" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I" GridPane.columnIndex="1">
+      </MenuButton>
+            <MenuButton fx:id="mBtnWalzPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="I" textAlignment="CENTER" GridPane.columnIndex="2">
+      </MenuButton>
+            <MenuButton fx:id="mBtnWalzPos3" mnemonicParsing="false" popupSide="TOP" prefHeight="25.0" prefWidth="48.0" text="I" textAlignment="CENTER" GridPane.columnIndex="3">
+      </MenuButton>
+            <MenuButton fx:id="mBtnNotchPos1" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="1" GridPane.rowIndex="1" />
+            <MenuButton fx:id="mBtnNotchPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="2" GridPane.rowIndex="1">
+      </MenuButton>
+      <!--      <MenuButton layoutX="93.0" layoutY="114.0" mnemonicParsing="false">-->
+      <!--         <items>-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z1" text="1" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z2" text="2" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z3" text="3" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z4" text="4" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z5" text="5" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z6" text="6" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z7" text="7" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z8" text="8" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z9" text="9" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z10" text="10" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z11" text="11" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z12" text="12" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z13" text="13" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z14" text="14" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z15" text="15" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z16" text="16" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z17" text="17" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z18" text="18" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z19" text="19" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z20" text="20" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z21" text="21" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z22" text="22" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z23" text="23" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z24" text="24" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z25" text="25" />-->
+      <!--            <MenuItem mnemonicParsing="false" onAction="#z26" text="26" />-->
+      <!--         </items>-->
+      <!--      </MenuButton>-->
+            <MenuButton fx:id="mBtnNotchPos3" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="1" textAlignment="CENTER" GridPane.columnIndex="3" GridPane.rowIndex="1">
+      </MenuButton>
+            <MenuButton fx:id="mBtnStartPos1" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="1" GridPane.rowIndex="2">
+      </MenuButton>
+            <MenuButton fx:id="mBtnStartPos2" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="2" GridPane.rowIndex="2">
+      </MenuButton>
+            <MenuButton fx:id="mBtnStartPos3" alignment="CENTER_RIGHT" mnemonicParsing="false" prefHeight="25.0" prefWidth="48.0" text="A" textAlignment="CENTER" GridPane.columnIndex="3" GridPane.rowIndex="2">
+      </MenuButton>
+         </children>
+      </GridPane>
+      <FlowPane layoutX="736.0" layoutY="51.0" prefHeight="173.0" prefWidth="195.0" AnchorPane.rightAnchor="36.0" AnchorPane.topAnchor="51.0">
+         <children>
+            <Button mnemonicParsing="false" onAction="#btnempfangen" prefHeight="80.0" prefWidth="195.0" text="Funkspruch empfangen" />
+            <Label prefHeight="17.0" prefWidth="195.0" />
+            <Button mnemonicParsing="false" onAction="#btnsenden" prefHeight="80.0" prefWidth="195.0" text="An Funker senden" />
+         </children>
+      </FlowPane>
+      <GridPane layoutX="23.0" layoutY="222.0" prefHeight="60.0" prefWidth="270.0" AnchorPane.leftAnchor="23.0" AnchorPane.topAnchor="222.0">
+        <columnConstraints>
+          <ColumnConstraints hgrow="SOMETIMES" maxWidth="130.0" minWidth="10.0" prefWidth="100.0" />
+          <ColumnConstraints hgrow="SOMETIMES" maxWidth="224.0" minWidth="10.0" prefWidth="170.0" />
+        </columnConstraints>
+        <rowConstraints>
+          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+          <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
+        </rowConstraints>
+         <children>
+            <Label alignment="CENTER_RIGHT" text="Tagesschlüssel:" />
+            <Label text="Spruchschlüssel:" GridPane.rowIndex="1" />
+            <Label fx:id="lblTagesschluessel" prefHeight="17.0" prefWidth="181.0" GridPane.columnIndex="1" />
+            <Label fx:id="lblSpruchschluessel" prefHeight="17.0" prefWidth="181.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
+         </children>
+      </GridPane>
+   </children>
+</AnchorPane>
diff --git a/src/main/resources/projekt/enigma/kenngruppe.fxml b/src/main/resources/projekt/enigma/kenngruppe.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..2cedf3644a5b65ea0c8f53751137ac55e051acd3
--- /dev/null
+++ b/src/main/resources/projekt/enigma/kenngruppe.fxml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.shape.Circle?>
+
+<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="411.0" prefWidth="512.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projekt.enigma.KenngruppeController">
+   <children>
+      <Label layoutX="81.0" layoutY="29.0" text="Bitte Kenngruppe eingeben!" AnchorPane.leftAnchor="81.0" AnchorPane.rightAnchor="70.0" AnchorPane.topAnchor="29.0" />
+      <HBox layoutX="107.0" layoutY="141.0" prefHeight="26.0" prefWidth="276.0" AnchorPane.leftAnchor="107.0" AnchorPane.rightAnchor="129.0" AnchorPane.topAnchor="141.0">
+         <children>
+            <Button fx:id="secondaryButton" onAction="#switchToPrimary" prefHeight="25.0" prefWidth="142.0" text="Kenngruppe bestätigen!" />
+            <Label prefHeight="17.0" prefWidth="159.0" text="Label" />
+            <Button mnemonicParsing="false" prefHeight="25.0" prefWidth="150.0" text="Button" />
+         </children>
+      </HBox>
+      <Circle fill="DODGERBLUE" layoutX="226.0" layoutY="267.0" radius="100.0" stroke="BLACK" strokeType="INSIDE" AnchorPane.leftAnchor="126.0" AnchorPane.rightAnchor="186.0" AnchorPane.topAnchor="167.0" />
+      <Button fx:id="secondaryButton" layoutX="40.0" layoutY="85.0" onAction="#switchToPrimary" prefHeight="25.0" prefWidth="241.0" text="Kenngruppe bestätigen!" />
+   </children>
+</AnchorPane>
diff --git a/src/test/java/enigma/model/CodebuchTest.java b/src/test/java/projekt/enigma/model/CodebuchTest.java
similarity index 56%
rename from src/test/java/enigma/model/CodebuchTest.java
rename to src/test/java/projekt/enigma/model/CodebuchTest.java
index 5dd7d2ed0157a2ce26dbea07d991b90065608785..ce7da24a9153fcda79ae1811ac3759e58327a21a 100644
--- a/src/test/java/enigma/model/CodebuchTest.java
+++ b/src/test/java/projekt/enigma/model/CodebuchTest.java
@@ -1,9 +1,7 @@
-package enigma.model;
+package projekt.enigma.model;
 
-import enigma.database.DatenbankSqlite;
 import org.junit.Assert;
 import org.junit.Test;
-import java.sql.SQLException;
 
 public class CodebuchTest {
 
@@ -14,13 +12,11 @@ public class CodebuchTest {
 				"Ringstellung: 16,11,13\n" +
 				"Steckverbindung: E:U,O:H,T:Z,A:S,M:R,I:V,C:G,F:Q,B:X,Y:K\n";
 
-		try {
-			// Ausgabe auf der Konsole
-			String result = new DatenbankSqlite().getCodebuch(1).toString();
-			Assert.assertEquals(result, expected, result);
-		} catch (SQLException e) {
-			e.printStackTrace();
-		}
+		// Ausgabe auf der Konsole
+		Codebuch cb = new Codebuch();
+		cb.fetchTagesschluessel(1);
+		String result = cb.toString();
+		Assert.assertEquals(result, expected, result);
 	}
 
 	@Test
diff --git a/src/test/java/enigma/model/HardwareTest.java b/src/test/java/projekt/enigma/model/HardwareTest.java
similarity index 98%
rename from src/test/java/enigma/model/HardwareTest.java
rename to src/test/java/projekt/enigma/model/HardwareTest.java
index 5eaeec04b8fc5e4b8fdcf726e901998350f04e31..742e6aba1b8679f81f8729a183fc7dd377616aa9 100644
--- a/src/test/java/enigma/model/HardwareTest.java
+++ b/src/test/java/projekt/enigma/model/HardwareTest.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/enigma/model/ReflektorTest.java b/src/test/java/projekt/enigma/model/ReflektorTest.java
similarity index 95%
rename from src/test/java/enigma/model/ReflektorTest.java
rename to src/test/java/projekt/enigma/model/ReflektorTest.java
index 793b8cc987f4eabdeda5b27b6e363b5157add7d4..8cb11a94b3c94191e9d0cdec15ddfbf97f5d27ea 100644
--- a/src/test/java/enigma/model/ReflektorTest.java
+++ b/src/test/java/projekt/enigma/model/ReflektorTest.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/enigma/model/SteckbrettTest.java b/src/test/java/projekt/enigma/model/SteckbrettTest.java
similarity index 94%
rename from src/test/java/enigma/model/SteckbrettTest.java
rename to src/test/java/projekt/enigma/model/SteckbrettTest.java
index 0f3fedb099afdc45ce8b57c766dabefd577dff3c..689b923f05fa2261a0b75ce33b9905221eb3fac6 100644
--- a/src/test/java/enigma/model/SteckbrettTest.java
+++ b/src/test/java/projekt/enigma/model/SteckbrettTest.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/enigma/model/WalzeTest.java b/src/test/java/projekt/enigma/model/WalzeTest.java
similarity index 94%
rename from src/test/java/enigma/model/WalzeTest.java
rename to src/test/java/projekt/enigma/model/WalzeTest.java
index 819a94e25da96eafaa0e47901ca0a1be22ad12cc..7a898dd9c28224efe22df8d49726af786ed9e3db 100644
--- a/src/test/java/enigma/model/WalzeTest.java
+++ b/src/test/java/projekt/enigma/model/WalzeTest.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -23,7 +23,7 @@ public class WalzeTest {
 	}
 
 	@Test
-	public void walzenPoition() {
+	public void getAnzeige() {
 		Walze w = new Walze(1, 1);
 		char temp = w.getAnzeige();
 		Assert.assertEquals('A', temp);