diff --git a/pom.xml b/pom.xml
index ccec90007b7180a0e5217dd1c67323f132d5f920..b89e09f4aa5adf8ff897397c06d63c055cb4c5f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,6 +25,12 @@
             <artifactId>javafx-fxml</artifactId>
             <version>${use.javafx.version}</version>
         </dependency>
+        <!-- https://mvnrepository.com/artifact/net.sourceforge.plantuml/plantuml -->
+        <dependency>
+            <groupId>net.sourceforge.plantuml</groupId>
+            <artifactId>plantuml</artifactId>
+            <version>8059</version>
+        </dependency>
         <!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
         <dependency>
             <groupId>org.xerial</groupId>
diff --git a/src/main/java/Enigma/App.java b/src/main/java/Enigma/App.java
index d166be1527024b2dbcf6c3d3c7442fd8e6cc3dc4..005c44a50e3583b6839306fbc21aeb640ebbb8e9 100644
--- a/src/main/java/Enigma/App.java
+++ b/src/main/java/Enigma/App.java
@@ -7,11 +7,7 @@ import javafx.scene.Parent;
 import javafx.scene.Scene;
 import javafx.stage.Stage;
 import org.apache.http.HttpException;
-
 import java.io.IOException;
-import java.sql.SQLException;
-import java.time.LocalDate;
-import java.time.ZoneId;
 
 /**
  * JavaFX App
@@ -19,8 +15,7 @@ import java.time.ZoneId;
 public class App extends Application {
 
 	private static Scene scene;
-	private Codebuch cb;
-	private Hardware h;
+	private Codierer c;
 
 	static void setRoot(String fxml) throws IOException {
 		scene.setRoot(loadFXML(fxml));
@@ -41,72 +36,29 @@ public class App extends Application {
 		stage.setScene(scene);
 		stage.show();
 
-		initialisiereHardware();
+		this.c = new Codierer();
 
         /**
          * TODO: Nur zum Testen muss später wieder gelöscht werden.
          */
         //region Test
-		h.setKenngruppe("deisold");
+		c.setKenngruppe("deisold");
 		String nachricht = "Hello world.";
 
 		for (char buchstabe : nachricht.toCharArray()) {
-			System.out.print(buchstabe + ":");
-			System.out.print(h.codiere(buchstabe));
-			System.out.println(" W1:" + h.getWalzen()[0].getBuchstabe() + " W2:" + h.getWalzen()[1].getBuchstabe() + " W3:" + h.getWalzen()[2].getBuchstabe());
+		    if(buchstabe > 0) {
+                System.out.print(buchstabe + ":");
+                System.out.print(c.getHardware().codiere(buchstabe));
+                System.out.println(" W1:" + c.getHardware().getWalzen()[0].getBuchstabe() + " W2:" + c.getHardware().getWalzen()[1].getBuchstabe() + " W3:" + c.getHardware().getWalzen()[2].getBuchstabe());
+            }
 		}
 		try {
-			System.out.println(h.getNachricht());
-			h.sendeNachricht();
+			System.out.println(c.getNachricht());
+			c.sendeNachricht();
 		} catch (HttpException e) {
 			e.printStackTrace();
 		}
 		//endregion
 	}
 
-	/**
-	 * Hier lesen wir den heutigen Eintrag aus dem Codebuch aus und erstellen ein Codebuch Objekt
-	 * Nach dem Codebuch werden dann die Ringe auf die Walzen gesteckt und die Walzen anschließend
-	 * in die Hardware gebaut.
-	 * <p>
-	 * Ein Reflektor wird definiert, jedoch keine Werte zugewisen, da wir nur einen besitzen und
-	 * deshalb alle Einstellungen hierfür Statisch im Reflektor definiert haben.
-	 * <p>
-	 * Das Steck wird ebenfalls definiert und die notwendigen Kabel eingesteckt laut dem heutigen
-	 * Codebuch Eintrag.
-	 */
-	private void initialisiereHardware() {
-
-		// Hole den heutigen Eintrag aus der SQLite Datenbank und erstelle daraus ein Codebuch Objekt
-		try {
-			this.cb = new DatenbankSqlite().getCodebuch(LocalDate.now(ZoneId.of("Europe/Berlin")).getDayOfMonth());
-		} catch (SQLException ignored) {
-		}
-
-		// TODO: Was zum Henker macht der hier????!?
-        System.out.println(this.cb.toString());
-
-		// Das Steckbrett initialisieren
-		Steckbrett sb = new Steckbrett();
-		char[][] verbinder = cb.getSteckverbindung();
-		// Für jedes Kabel eine Verbindung auf dem Steckbrett setzen
-		for (char[] kabel : verbinder) {
-			sb.setzeVertauschung(kabel[0], kabel[1]);
-		}
-
-		// Die Hardware aus dem Koffer holen (initialisieren)
-		this.h = new Hardware();
-
-		// Den Ring an der Walze anbringen und die Walze dann in die Hardware einsetzen
-		h.setWalzen(0, cb.getWalzenlage()[0], cb.getRingstellung()[0]);
-		h.setWalzen(1, cb.getWalzenlage()[1], cb.getRingstellung()[1]);
-		h.setWalzen(2, cb.getWalzenlage()[2], cb.getRingstellung()[2]);
-
-		// Der Hardware das gesetzte Steckbrett zuweisen
-		h.setSteckbrett(sb);
-
-		// Ein Reflektor Objekt erstellen und der Hardware bekannt geben
-		h.setReflektor(new Reflektor());
-	}
-
 }
\ No newline at end of file
diff --git a/src/main/java/Enigma/GuiController.java b/src/main/java/Enigma/GuiController.java
index 08636230afb262e13ccf246baa106a400d407a16..c9da5dbc7ee56f3512242a3c8a67f13a4f421bdd 100644
--- a/src/main/java/Enigma/GuiController.java
+++ b/src/main/java/Enigma/GuiController.java
@@ -3,10 +3,6 @@ package Enigma;
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
 import javafx.scene.control.*;
-import javafx.scene.input.MouseEvent;
-import javafx.scene.layout.Background;
-import javafx.scene.layout.BackgroundFill;
-import javafx.scene.paint.Color;
 import javafx.scene.shape.Circle;
 
 
diff --git a/src/main/java/Enigma/model/Codebuch.java b/src/main/java/Enigma/model/Codebuch.java
index 60f699eb693909af145a24a1d2d376a7446807d5..ee7b96e0aa0af4d2e3a48a12f88631c039944a2c 100644
--- a/src/main/java/Enigma/model/Codebuch.java
+++ b/src/main/java/Enigma/model/Codebuch.java
@@ -19,7 +19,7 @@ package Enigma.model;
 public class Codebuch {
 	private int tag;
 	private int[] walzenlage;
-	private char[] ringstellung;
+	private int[] ringstellung;
 	private char[][] steckverbindung;
 
 	/**
@@ -33,10 +33,10 @@ public class Codebuch {
 	 */
 	public Codebuch() {
 		this.walzenlage = new int[3];
-		this.ringstellung = new char[3];
+		this.ringstellung = new int[3];
 		this.steckverbindung = new char[10][];
 
-		for(int i = 0; i < 10; i++) {
+		for (int i = 0; i < 10; i++) {
 			this.steckverbindung[i] = new char[2];
 			this.steckverbindung[i][0] = 'A';
 			this.steckverbindung[i][1] = 'A';
@@ -69,7 +69,7 @@ public class Codebuch {
 		sb.append("\n");
 
 		sb.append("Ringstellung: ");
-		for (char rs : this.getRingstellung()) {
+		for (int rs : this.getRingstellung()) {
 			sb.append(rs).append(",");
 			rsLoop = true;
 		}
@@ -79,11 +79,9 @@ public class Codebuch {
 		sb.append("\n");
 
 		sb.append("Steckverbindung: ");
-		for (char[] s : this.getSteckverbindung()) {
-			if (Character.isLetter(s[0])) {
-				sb.append(s[0]).append(":").append(s[1]).append(",");
-				svLoop = true;
-			}
+		for (char[] verbindung : this.getSteckverbindung()) {
+			sb.append(verbindung[0]).append(":").append(verbindung[1]).append(",");
+			svLoop = true;
 		}
 		if (svLoop) {
 			sb.setLength(sb.length() - 1);
@@ -125,7 +123,7 @@ public class Codebuch {
 	 *
 	 * @return String[] : Ringstellung
 	 */
-	public char[] getRingstellung() {
+	public int[] getRingstellung() {
 		return ringstellung;
 	}
 
@@ -141,15 +139,16 @@ public class Codebuch {
 	/**
 	 * Setzt die Steckverbindung dieser Instanz
 	 *
-	 * @param steckverbindung : String[] :  Die Steckverbindungen die gesteckt werden sollen.
+	 * @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
 	 *                        Array gespeichert.
 	 */
-	public void setSteckverbindung(String[] steckverbindung) {
+	public void setSteckverbindung(String[] kabel) {
 		int counter = 0;
-		char[] verbindung = new char[2];
-		for (String stecker : steckverbindung) {
+
+		for (String stecker : kabel) {
+			char[] verbindung = new char[2];
 			verbindung[0] = stecker.charAt(0);
 			verbindung[1] = stecker.charAt(1);
 			this.steckverbindung[counter++] = verbindung;
@@ -172,7 +171,7 @@ public class Codebuch {
 	 * @param position     : int : Auf welche Walze wird der Ring aufgesetzt?
 	 * @param ringstellung : char : An dieser Position soll die nächste Walze weiter gedreht werden.
 	 */
-	public void setRingstellung(int position, char ringstellung) {
+	public void setRingstellung(int position, int ringstellung) {
 		this.ringstellung[position] = ringstellung;
 	}
 }
diff --git a/src/main/java/Enigma/model/Codierer.java b/src/main/java/Enigma/model/Codierer.java
new file mode 100644
index 0000000000000000000000000000000000000000..dfc7d673e2c8d659177a968a1b1f9576bbc33823
--- /dev/null
+++ b/src/main/java/Enigma/model/Codierer.java
@@ -0,0 +1,188 @@
+package Enigma.model;
+
+import org.apache.http.HttpException;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.util.Random;
+
+public class Codierer {
+
+	private String spruchschluessel;
+	private String kenngruppe;
+	private String nachricht;
+	private Hardware hardware;
+	private Codebuch codebuch;
+
+	public Codierer() {
+		this.nachricht = "";
+		initialisiereHardware();
+	}
+
+	/**
+	 * Hier lesen wir den heutigen Eintrag aus dem Codebuch aus und erstellen ein Codebuch Objekt
+	 * Nach dem Codebuch werden dann die Ringe auf die Walzen gesteckt und die Walzen anschließend
+	 * in die Hardware gebaut.
+	 * <p>
+	 * Ein Reflektor wird definiert, jedoch keine Werte zugewisen, da wir nur einen besitzen und
+	 * deshalb alle Einstellungen hierfür Statisch im Reflektor definiert haben.
+	 * <p>
+	 * Das Steck wird ebenfalls definiert und die notwendigen Kabel eingesteckt laut dem heutigen
+	 * Codebuch Eintrag.
+	 */
+	private void initialisiereHardware() {
+
+		// Hole den heutigen Eintrag aus der SQLite Datenbank und erstelle daraus ein Codebuch Objekt
+		try {
+			this.codebuch = new DatenbankSqlite().getCodebuch(LocalDate.now(ZoneId.of("Europe/Berlin")).getDayOfMonth());
+		} catch (SQLException ignored) {
+		}
+
+		// Das Steckbrett initialisieren
+		Steckbrett sb = new Steckbrett();
+		char[][] verbinder = codebuch.getSteckverbindung();
+		// Für jedes Kabel eine Verbindung auf dem Steckbrett setzen
+		for (char[] kabel : verbinder) {
+			sb.setzeVertauschung(kabel[0], kabel[1]);
+		}
+
+		// Die Hardware aus dem Koffer holen (initialisieren)
+		this.hardware = new Hardware();
+
+		// Den Ring an der Walze anbringen und die Walze dann in die Hardware einsetzen
+		hardware.setWalzen(0, codebuch.getWalzenlage()[0], codebuch.getRingstellung()[0]);
+		hardware.setWalzen(1, codebuch.getWalzenlage()[1], codebuch.getRingstellung()[1]);
+		hardware.setWalzen(2, codebuch.getWalzenlage()[2], codebuch.getRingstellung()[2]);
+
+		// Der Hardware das gesetzte Steckbrett zuweisen
+		hardware.setSteckbrett(sb);
+
+		// Ein Reflektor Objekt erstellen und der Hardware bekannt geben
+		hardware.setReflektor(new Reflektor());
+	}
+
+	/**
+	 * Hier wird ein neuer Spruchschlüssel generiert.
+	 * Mit diesem werden die Walzen auf eine neue Startposition gestellt und dem Kopf, mit dem
+	 * Tagesschlüssel codiert, hinzugefügt.
+	 *
+	 * 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.
+	 * Wenn nicht, wird der Buchstabe dem Spruchschlüssel hinzugefügt.
+	 *
+	 * Dies wir nun so lange gemacht bis der Spruchschlüssel eine länge von drei Zeichen hat.
+	 */
+	public void spruchSchluessel() {
+		while(this.spruchschluessel.length() < 3) {
+			String temp = this.randomBuchstabe();
+			if(!this.spruchschluessel.contains(temp)) {
+				this.spruchschluessel += temp;
+			}
+		}
+	}
+
+	/**
+	 * Einen zufälligen Buchstaben aus dem Alphabet generieren.
+	 * In der Funktion gibt es den String Alphabet, in welchem alle zulässigen Zeichen eingetragen sind.
+	 * Aus diesem String wird nun zufällig ein Zeichen ausgewählt und zurück gegeben.
+	 *
+	 * @return String : ein zufällig generierter Buchstabe
+	 */
+	private String randomBuchstabe() {
+		Random r = new Random();
+		String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+		char buchstabe = 'X';
+
+		for (int i = 0; i < alphabet.length(); i++) {
+			buchstabe = alphabet.charAt(r.nextInt(alphabet.length()));
+		}
+
+		return String.valueOf(buchstabe);
+	}
+
+	/**
+	 * Befehl die Nachricht an den Funker zu übergeben
+	 *
+	 * @throws IOException   : Die Antwort konnte nicht gelesen werden
+	 * @throws HttpException : Die Nachricht konnte nicht abgesendet werden
+	 */
+	public void sendeNachricht() throws IOException, HttpException {
+		new Funkraum().sendeFunkspruch(new Morsecode().convertBuchstabeToMorsecode(this.nachricht), this.kenngruppe);
+	}
+
+	/**
+	 * Gibt die letzte empfangene Nachricht zurück
+	 * <p>
+	 * String[0} Tag wann die Nachricht gesendet wurde
+	 * String[1] = Die verschlüsselte Nachricht
+	 * String[2] = Nachricht im Klartext
+	 */
+	public String[] empfangeNachricht() {
+		String[] codierteNachricht = new String[3];
+		Morsecode mc = new Morsecode();
+
+		try {
+			codierteNachricht = new Funkraum().empfangeFunkspruch(this.kenngruppe);
+			String morsecode = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]);
+			String decodiert = "";
+
+			for (char buchstabe : morsecode.toCharArray()) {
+				decodiert += this.hardware.codiere(buchstabe);
+			}
+
+			codierteNachricht[2] = decodiert;
+
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return codierteNachricht;
+	}
+
+	/**
+	 * Liest die Kenngruppe aus welche die Maschine gerade besitzt. Früher war dies eine eindeutige Nummer
+	 * die einer Einheit zugewiesen war. Wir hinterlegen hier einen Benutzernamen.
+	 *
+	 * @return String : Kenngruppe
+	 */
+	public String getKenngruppe() {
+		return kenngruppe;
+	}
+
+	/**
+	 * Setzt die Kenngruppe welche die Enigma gerade benutzt.
+	 *
+	 * @param kenngruppe : String : Kenngruppe welche die Enigma gerade benutzt
+	 */
+	public void setKenngruppe(String kenngruppe) {
+		this.kenngruppe = kenngruppe;
+	}
+
+	/**
+	 * Gibt die bisher erstellte Nachricht zurück
+	 *
+	 * @return String : Erstellte Nachricht
+	 */
+	public String getNachricht() {
+		return nachricht;
+	}
+
+	/**
+	 * Gibt das Hardware Objekt zurück
+	 *
+	 * @return Hardware
+	 */
+	public Hardware getHardware() {
+		return hardware;
+	}
+
+	/**
+	 * Setzt ein neues Hardware Objekt
+	 *
+	 * @param hardware : Hardware
+	 */
+	public void setHardware(Hardware hardware) {
+		this.hardware = hardware;
+	}
+}
diff --git a/src/main/java/Enigma/model/DatenbankSqlite.java b/src/main/java/Enigma/model/DatenbankSqlite.java
index 51f34c1bf1c59f343bb5ef7ea9123133995defdb..236b2bbeb90acf80cf2f127a627c5236e3757867 100644
--- a/src/main/java/Enigma/model/DatenbankSqlite.java
+++ b/src/main/java/Enigma/model/DatenbankSqlite.java
@@ -57,13 +57,13 @@ public class DatenbankSqlite {
 			cb.setTag(rs.getInt("Tag"));
 
 			walzenlage = rs.getString("Walzenlage").split(",");
-			for(int i = 0; i < 3; i++) {
+			for (int i = 0; i < 3; i++) {
 				cb.setWalzenlage(i, Integer.parseInt(walzenlage[i]));
 			}
 
 			ringstellung = rs.getString("Ringstellung").split(",");
-			for(int i = 0; i < 3; i++) {
-				cb.setRingstellung(i, ringstellung[i].charAt(0));
+			for (int i = 0; i < 3; i++) {
+				cb.setRingstellung(i, Integer.parseInt(ringstellung[i]));
 			}
 
 			cb.setSteckverbindung(rs.getString("Steckverbindung").split(","));
@@ -137,26 +137,30 @@ public class DatenbankSqlite {
 	/**
 	 * Generiert einen String aus 10 * 2 unterschiedlichen Großbuchstaben
 	 * @return  String => 10 Buchstabenkombinationen mit Komma getrennt
-	 */
-	/*
-	private static String steckverbindung(){
-		Random rnd = new Random();
-		String steckverbindung="";
-		char[] c = new char[2];
-		for (int i = 0; i < 10; i++) {
-			for (int j = 0; j < 2; j++) {
-				c[j]= (char) (rnd.nextInt(26) + 'A');
-				if (j==1) {
-					while (c[0] == c[j]) {
-						c[j] = (char) (rnd.nextInt(26) + 'A');
-					}
-				}
-			}
-			System.out.println(c[0]+" / "+c[1]);
-			steckverbindung+= ((""+c[0]) + (""+c[1]) +",");
-		}
-		steckverbindung= (String) steckverbindung.subSequence(0,steckverbindung.lastIndexOf(","));
-		return steckverbindung;
-	}*/
+	 *//*
+	    private static String steckverbindung(){
+        Random rnd = new Random();
+        String steckverbindung="";
+
+
+        char[] c = new char[20];
+        for (int i = 0; i < 20; i++) {
+            c[i] = (char) (rnd.nextInt(26) + 'A');
+            for (int j = i; j >= 0; j--) {
+                if (i>j) {
+                    while (c[i]==c[j]) {
+                        c[i] = (char) (rnd.nextInt(26) + 'A');
+                        j= i-1;
+                    }
+                }
+            }
+        }
+        steckverbindung = ((""+c[0]) + (""+c[1]) +"," +(""+c[2]) +(""+c[3]) + ","+(""+c[4]) +(""+c[5]) + ","+(""+c[6]) +(""+c[7]) + ","
+                +(""+c[8]) +(""+c[9]) + ","+(""+c[10]) +(""+c[11]) + ","+(""+c[12]) +(""+c[13]) + ","+(""+c[14]) +(""+c[15]) + ","+(""+c[16]) +(""+c[17]) + ","
+                +(""+c[18]) +(""+c[19]));
+       // System.out.println(steckverbindung);
+       // steckverbindung= (String) steckverbindung.subSequence(0,steckverbindung.lastIndexOf(","));
+        return steckverbindung;
+    }*/
 	//endregion
 }
diff --git a/src/main/java/Enigma/model/Hardware.java b/src/main/java/Enigma/model/Hardware.java
index efb0517db59ec4ed9e56a381b05d623aa4fd6004..8b1674a30fab0fa501d21942d83e330619d5f0db 100644
--- a/src/main/java/Enigma/model/Hardware.java
+++ b/src/main/java/Enigma/model/Hardware.java
@@ -3,6 +3,7 @@ package Enigma.model;
 import org.apache.http.HttpException;
 
 import java.io.IOException;
+import java.util.Random;
 
 /**
  * In dieser Klasse wird die Hardware zusammen gefasst.
@@ -22,8 +23,6 @@ public class Hardware {
 	private Walze[] walzen;
 	private Steckbrett steckbrett;
 	private Reflektor reflektor;
-	private String nachricht;
-	private String kenngruppe;
 
 	/**
 	 * Im Konstruktor legen wir die Anzahl der Walzen fest welche die Hardware aufnehmen kann.
@@ -39,7 +38,8 @@ public class Hardware {
 	 * @param walze    : int : Setzt die Walze mit der angegebenen Nummer ein
 	 * @param walzenNr : int : Die Nummer der einzusetzenden Walze
 	 */
-	public void setzeWalzenNr(int walze, int walzenNr) {
+	public void setzeWalzenNr(int walze, int walzenNr, int ringstellung) {
+		this.walzen[walze] = new Walze(walzenNr, ringstellung);
 	}
 
 	/**
@@ -49,6 +49,7 @@ public class Hardware {
 	 * @param position : int : Umspringpunkt auf der Walze
 	 */
 	public void setzeRing(int walze, int position) {
+		this.walzen[walze].setRingstellung(position);
 	}
 
 	/**
@@ -58,27 +59,7 @@ public class Hardware {
 	 * @param buchstabe : char : Buchstabe der zugewiesen soll
 	 */
 	public void setzePosition(int walze, char buchstabe) {
-	}
-
-	/**
-	 * Befehl die Nachricht an den Funker zu übergeben
-	 *
-	 * @throws IOException   : Die Antwort konnte nicht gelesen werden
-	 * @throws HttpException : Die Nachricht konnte nicht abgesendet werden
-	 */
-	public void sendeNachricht() throws IOException, HttpException {
-		new Funkraum().sendeFunkspruch(new Morsecode().convertBuchstabeToMorsecode(this.nachricht), this.kenngruppe);
-	}
-
-	/**
-	 * Gibt die letzte empfangene Nachricht zurück
-	 * <p>
-	 * String[0] = Die verschlüsselte Nachricht
-	 * String[1] = Nachricht im Klartext
-	 */
-	public String[] empfangeNachricht() {
-
-		return new String[2];
+		this.walzen[walze].setBuchstabe(buchstabe);
 	}
 
 	/**
@@ -88,6 +69,8 @@ public class Hardware {
 	 * @return char : Der ver/entschlüsselte Buchstabe
 	 */
 	public char codiere(char buchstabe) {
+		this.dreheWalzen();
+
 		buchstabe = this.steckbrett.codiere(Character.toUpperCase(buchstabe));
 		buchstabe = this.walzen[0].codiere(buchstabe);
 		buchstabe = this.walzen[1].codiere(buchstabe);
@@ -98,10 +81,6 @@ public class Hardware {
 		buchstabe = this.walzen[0].codiere2(buchstabe);
 		buchstabe = this.steckbrett.codiere(buchstabe);
 
-		this.dreheWalzen();
-
-		this.nachricht += buchstabe;
-
 		return buchstabe;
 	}
 
@@ -176,31 +155,5 @@ public class Hardware {
 		this.reflektor = reflektor;
 	}
 
-	/**
-	 * Liest die Kenngruppe aus welche die Maschine gerade besitzt. Früher war dies eine eindeutige Nummer
-	 * die einer Einheit zugewiesen war. Wir hinterlegen hier einen Benutzernamen.
-	 *
-	 * @return String : Kenngruppe
-	 */
-	public String getKenngruppe() {
-		return kenngruppe;
-	}
-
-	/**
-	 * Setzt die Kenngruppe welche die Enigma gerade benutzt.
-	 *
-	 * @param kenngruppe : String : Kenngruppe welche die Enigma gerade benutzt
-	 */
-	public void setKenngruppe(String kenngruppe) {
-		this.kenngruppe = kenngruppe;
-	}
 
-	/**
-	 * Gibt die bisher erstellte Nachricht zurück
-	 *
-	 * @return String : Erstellte Nachricht
-	 */
-	public String getNachricht() {
-		return nachricht;
-	}
 }
diff --git a/src/main/java/Enigma/model/Morsecode.java b/src/main/java/Enigma/model/Morsecode.java
index 38e2b1febd8d01994fd91365184f0d6c420ffe2c..67284f5d4103ff37ddbaa2fdb48ff40b4c63de61 100644
--- a/src/main/java/Enigma/model/Morsecode.java
+++ b/src/main/java/Enigma/model/Morsecode.java
@@ -42,6 +42,17 @@ public class Morsecode {
 		this.codeMap.put("X", "-..-");
 		this.codeMap.put("Y", "-.--");
 		this.codeMap.put("Z", "--..");
+		this.codeMap.put(" ", "-...-");
+		this.codeMap.put("1", ".----");
+		this.codeMap.put("2", ".----");
+		this.codeMap.put("3", "...--");
+		this.codeMap.put("4", "....-");
+		this.codeMap.put("5", ".....");
+		this.codeMap.put("6", "-....");
+		this.codeMap.put("7", "--...");
+		this.codeMap.put("8", "---..");
+		this.codeMap.put("9", "----.");
+		this.codeMap.put("0", "-----");
 	}
 
 	/**
diff --git a/src/main/resources/Enigma/codebuch.sqlite b/src/main/resources/Enigma/codebuch.sqlite
index 78be5227db85283c0c20e3719303cb77e48e8cbf..018731d4221da62ff7e8702ce5f52833bccbea05 100644
Binary files a/src/main/resources/Enigma/codebuch.sqlite and b/src/main/resources/Enigma/codebuch.sqlite differ
diff --git a/src/test/java/Enigma/model/CodebuchTest.java b/src/test/java/Enigma/model/CodebuchTest.java
index aa64deaa3f9c17f57767b284a452cf00149c923d..ce6a4f75f740e9ac93b1bd2b160444047bab133a 100644
--- a/src/test/java/Enigma/model/CodebuchTest.java
+++ b/src/test/java/Enigma/model/CodebuchTest.java
@@ -11,7 +11,7 @@ public class CodebuchTest {
 		String expected = "Tag: 1\n" +
 				"Walzenlage: 1,3,2\n" +
 				"Ringstellung: 16,11,13\n" +
-				"Steckverbindung: CO,DI,FR,HU,JW,LS,TX\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