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/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 91%
rename from src/main/java/enigma/GuiController.java
rename to src/main/java/projekt/enigma/GuiController.java
index 2c0e6e3862ca379105f6ce39e5973fe976301f58..4e2a1a3652740e0e2128baa8ab00c9bda8d0ef13 100644
--- a/src/main/java/enigma/GuiController.java
+++ b/src/main/java/projekt/enigma/GuiController.java
@@ -1,6 +1,6 @@
-package enigma;
+package projekt.enigma;
 
-import enigma.model.Codierer;
+import projekt.enigma.model.Codierer;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
@@ -428,13 +428,15 @@ public class GuiController {
 		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().charAt(0));
-		if(mb.getId().equals(mBtnWalzPos2.getId()))setzeWalze(2,mi.getText().charAt(0));
-		if(mb.getId().equals(mBtnWalzPos3.getId()))setzeWalze(3,mi.getText().charAt(0));
-		if(mb.getId().equals(mBtnNotchPos1.getId()))setzeRing(1,mi.getText().charAt(0));
-		if(mb.getId().equals(mBtnNotchPos2.getId()))setzeRing(2,mi.getText().charAt(0));
-		if(mb.getId().equals(mBtnNotchPos3.getId()))setzeRing(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);
 	}
 
 	/**
@@ -535,10 +537,31 @@ public class GuiController {
 	 * Setzt die Anzeige des entsprechende Gui-Element auf die entsprechende Walze
 	 * ->d.h. welche Walze sitzt auf welcher Position
 	 *
-	 * @param walzeNr    => gibt die Walzennummer an (entspricht
-	 * @param walzenPosition => gibt die Position der Walze (entspricht
+	 * @param walzeRoemischNr    => gibt die Walzennummer an
+	 * @param walzenPosition => gibt die Position der Walze
 	 */
-	private void setzeWalze(int walzenPosition, int walzeNr) {
+	private void setzeWalze(int walzenPosition, String walzeRoemischNr) {
+		int walzeNr=0;
+		switch (walzeRoemischNr){
+			case "I":
+				walzeNr=0;
+				break;
+			case "II":
+				walzeNr=1;
+				break;
+			case "III":
+				walzeNr=2;
+				break;
+			case "IV":
+				walzeNr=4;
+				break;
+			case "V":
+				walzeNr=4;
+				break;
+			default:
+				break;
+		}
+
 		switch (walzenPosition) {
 			case 1:
 				mBtnWalzPos1.setText(walzenNr[walzeNr]);
@@ -561,19 +584,19 @@ public class GuiController {
 	 * Mitnahmeposition meint => die nächste Walze wird bei erreichen dieser Position (notch)
 	 * um eine Stelle versetzt
 	 *
-	 * @param walze    => gibt die walze an
-	 * @param position => gibt den notch der Walze (walze) an
+	 * @param ringStellung    => gibt die walze an
+	 * @param walzenPosition => gibt den notch der Walze (walze) an
 	 */
-	private void setzeRing(int walze, int position) {
-		switch (walze) {
+	private void setzeRing(int walzenPosition, int ringStellung) {
+		switch (walzenPosition) {
 			case 1:
-				mBtnNotchPos1.setText(ringNr[position]);
+				mBtnNotchPos1.setText(ringNr[ringStellung]);
 				break;
 			case 2:
-				mBtnNotchPos2.setText(ringNr[position]);
+				mBtnNotchPos2.setText(ringNr[ringStellung]);
 				break;
 			case 3:
-				mBtnNotchPos3.setText(ringNr[position]);
+				mBtnNotchPos3.setText(ringNr[ringStellung]);
 				break;
 			default:
 				break;
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 95%
rename from src/main/java/enigma/database/DatenbankSqlite.java
rename to src/main/java/projekt/enigma/database/DatenbankSqlite.java
index 00e88ea8e5293d287074570f9f020d161fea6c76..401af573f4c4c30bd1e8e04c18ca79f647348cb0 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.*;
 
@@ -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 97%
rename from src/main/java/enigma/model/Codebuch.java
rename to src/main/java/projekt/enigma/model/Codebuch.java
index 115ed442dfbebc191cbe532998cfa47833987acf..aacb58c97a1dfad19a89cd97cb8fe963aecf5371 100644
--- a/src/main/java/enigma/model/Codebuch.java
+++ b/src/main/java/projekt/enigma/model/Codebuch.java
@@ -1,6 +1,6 @@
-package enigma.model;
+package projekt.enigma.model;
 
-import enigma.database.DatenbankSqlite;
+import projekt.enigma.database.DatenbankSqlite;
 
 import java.time.LocalDate;
 import java.time.ZoneId;
@@ -55,7 +55,7 @@ public class Codebuch {
 	 * TODO: Dokumentieren
 	 * @param tag
 	 */
-	public void getTagesschluessel(int... tag) {
+	public void fetchTagesschluessel(int... tag) {
 		String[] walzenlage, ringstellung, db;
 
 		if(tag.length > 0) {
diff --git a/src/main/java/enigma/model/Codierer.java b/src/main/java/projekt/enigma/model/Codierer.java
similarity index 85%
rename from src/main/java/enigma/model/Codierer.java
rename to src/main/java/projekt/enigma/model/Codierer.java
index 8b1ff3bb4ba9a89def61d34a21be45df40f9d748..2217aafde82a467d170c01bf2865b3e1b9ec24b9 100644
--- a/src/main/java/enigma/model/Codierer.java
+++ b/src/main/java/projekt/enigma/model/Codierer.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 import org.apache.http.HttpException;
 
@@ -31,7 +31,7 @@ public class Codierer {
 		this.kenngruppe = "";
 		this.kenngruppeCodiert = "";
 		this.codebuch = new Codebuch();
-		this.codebuch.getTagesschluessel();
+		this.codebuch.fetchTagesschluessel();
 	}
 
 	/**
@@ -143,8 +143,8 @@ public class Codierer {
 				// Spruchschlüssel anhängen
 				this.spruchschluesselCodiert.substring(0, 3) + " " + this.spruchschluesselCodiert.substring(3, 6) + " ";
 
-				// Kenngruppe an das Ende setzen
-				//this.kenngruppeCodiert;
+		// Kenngruppe an das Ende setzen
+		//this.kenngruppeCodiert;
 	}
 
 	/**
@@ -173,7 +173,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
 	 */
@@ -188,6 +188,19 @@ public class Codierer {
 			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;
@@ -255,7 +268,7 @@ public class Codierer {
 	 */
 	public char codiere(char buchstabe, boolean save) {
 		char codiert = this.hardware.codiere(buchstabe);
-		if(save) {
+		if (save) {
 			this.nachricht += codiert;
 		}
 
@@ -264,6 +277,7 @@ public class Codierer {
 
 	/**
 	 * TODO: Dokumentieren
+	 *
 	 * @param klartext
 	 * @param save
 	 * @return
@@ -290,7 +304,7 @@ 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();
@@ -319,6 +333,7 @@ public class Codierer {
 
 	/**
 	 * TODO: Dokumentieren
+	 *
 	 * @param nachricht
 	 * @return
 	 */
@@ -339,8 +354,48 @@ public class Codierer {
 	 * TODO: Dokumentieren
 	 */
 	public void resetHardware() {
-
 		this.initialisiereHardware();
 	}
 
+	/**
+	 * Setzt die Walze auf der Position (walzenPosition) in die Enigma ein.
+	 * Mit dem char (position) sagt man auf welchen Buchstaben sie eingestellt werden soll.
+	 *
+	 * @param walzenPosition
+	 * @param position
+	 */
+	public void setWalze(int walzenPosition, char position) {
+		this.hardware.setzePosition(walzenPosition, position);
+	}
+
+	/**
+	 * TODO: Dokumentieren
+	 *
+	 * @param walzenPosition
+	 * @param position
+	 */
+	public void setRing(int walzenPosition, int position) {
+		this.hardware.setzeRing(walzenPosition, position);
+	}
+
+	/**
+	 * TODO: Dokumentieren
+	 *
+	 * @param walzenPosition
+	 * @param walzeNr
+	 */
+	public void setWalzeNr(int walzenPosition, int walzeNr) {
+		this.hardware.setzeWalzenNr(walzenPosition, walzeNr, 1);
+	}
+
+	/**
+	 * TODO: Dokumentieren
+	 *
+	 * @param feldNr
+	 * @param verbindung
+	 */
+	public void setSteckbrett(int feldNr, String verbindung) {
+		this.hardware.getSteckbrett().setzeVertauschung(verbindung.charAt(0), verbindung.charAt(1));
+	}
+
 }
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..b0ad4f4cb212d07e6bc2398ac5275142bbe8d756
--- /dev/null
+++ b/src/main/java/projekt/enigma/model/Steckbrett.java
@@ -0,0 +1,116 @@
+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];
+    }
+
+    /**
+     * TODO: Fehlerfall kommentieren, bzw. Exceptions werfen ?????
+     * TODO: Überprüfe Vertauschungen für jeden Buchstaben aufrufen
+     * Funktion setzeVertauschung
+     * <br>
+     * Der Funktion setzeVertauschung werden 2 Buchstaben (buchstabe1 und buchstabe2) übergeben.
+     * buchstabe1 wird in das Character-Array orginalBuchstaben geschrieben.
+     * buchstabe2 wird in das Character-Array getauschteBuchstaben geschrieben.
+     * Anschließend wird die Funktion ueberpruefeVertauschungen aufgerufen.
+     *
+     * @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 ueberpruefeVertauschungen(): Ueberprueft ob die Vertauschungen zulaessig sind.
+     */
+    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: Fehlerfall kommentieren, bzw. Exceptions werfen ?????
+     * TODO: Buchstabe zum überpüfen übergeben
+     * Funktion ueberpruefeVertauschungen
+     * <br>
+     * Die Funktion ueberpruefeVertauschungen prueft ob die Buchstabenvertauschung zulaessig ist.
+     * Eine Buchstabenvertauschung ist zulaessig, wenn keine Dopplungen der zu vertauschenden Buchstaben auftritt
+     * (ein Buchstabe nicht mehrmals vertauscht wird).
+     *
+     * @return boolean : result : Flag, der die Zulassigkeit der Vertauschungen zurueckgibt.
+     */
+    public boolean ueberpruefeVertauschungen() {
+        boolean result = true;
+
+        /*Es wird geprüft:
+        1. Ob im Array originalBuchstaben Dopplungen enthalten sind.
+        2. Ob im Array originalBuchstaben Buchstaben im Array getauschteBuchstaben enthalten sind.
+        3. Ob im Array getauschteBuchstaben Dopplungen enthalten sind.
+        Tritt einer der Fälle ein, erfolgt eine Konsolenausgabe und der Flag wird auf false gesetzt.
+         */
+        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;
+    }
+
+    /**
+     * 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/enigma/model/Walze.java b/src/main/java/projekt/enigma/model/Walze.java
similarity index 98%
rename from src/main/java/enigma/model/Walze.java
rename to src/main/java/projekt/enigma/model/Walze.java
index 42d9c8715a3ce319622489b3fa98bfadcc83dc4e..51648acc3c23be9b528764252ab92f672c3e74a5 100644
--- a/src/main/java/enigma/model/Walze.java
+++ b/src/main/java/projekt/enigma/model/Walze.java
@@ -1,4 +1,4 @@
-package enigma.model;
+package projekt.enigma.model;
 
 /**
  * Klasse Walze
@@ -140,6 +140,8 @@ public class Walze {
 
 	/**
 	 * TODO: Dokumentieren
+	 * TODO: Ich glaube das kann weg?
+	 *
 	 * @return
 	 */
 	public char getAnzeige() {
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/enigma/gui.fxml b/src/main/resources/projekt/enigma/gui.fxml
similarity index 99%
rename from src/main/resources/enigma/gui.fxml
rename to src/main/resources/projekt/enigma/gui.fxml
index e021eda7cb485e554280df7bed3ebacb0e1fe6dd..0768e9a87a762c1ac89728ec80a5872f60a02dd1 100644
--- a/src/main/resources/enigma/gui.fxml
+++ b/src/main/resources/projekt/enigma/gui.fxml
@@ -18,7 +18,7 @@
 <?import javafx.scene.shape.Circle?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="699.0" prefWidth="968.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="enigma.GuiController">
+<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>
diff --git a/src/main/resources/enigma/kenngruppe.fxml b/src/main/resources/projekt/enigma/kenngruppe.fxml
similarity index 100%
rename from src/main/resources/enigma/kenngruppe.fxml
rename to src/main/resources/projekt/enigma/kenngruppe.fxml
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);