diff --git a/LICENSE b/LICENSE
index 214f2036305afeed1fce2db5dedc4d2c3c89a847..eca5a29aee31cb8a47dfff0b974c65433079aa06 100644
--- a/LICENSE
+++ b/LICENSE
@@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least
 the "copyright" line and a pointer to where the full notice is found.
 
     Enigma
-    Copyright (C) 2019  AlfaTrainingKurse / Java
+    Copyright (C) 2019 Enigma@Java Developer Team
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
   If the program does terminal interaction, make it output a short
 notice like this when it starts in an interactive mode:
 
-    Enigma  Copyright (C) 2019  AlfaTrainingKurse / Java
+    Enigma  Copyright (C) 2019  Enigma@Java Developer Team
     This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
diff --git a/pom.xml b/pom.xml
index b89e09f4aa5adf8ff897397c06d63c055cb4c5f9..6035d0d533e8fbf2fb4c5162451d781cb11c4989 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,14 +2,14 @@
   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>
-    <artifactId>Enigma</artifactId>
+    <artifactId>enigma</artifactId>
     <version>0.0.1</version>
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <!--region[useage]-->
         <use.java.version>11</use.java.version>
         <use.javafx.version>11.0.2</use.javafx.version>
-        <use.app.main.class>Enigma.Main</use.app.main.class>
+        <use.app.main.class>${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/App.java b/src/main/java/enigma/App.java
similarity index 58%
rename from src/main/java/Enigma/App.java
rename to src/main/java/enigma/App.java
index 005c44a50e3583b6839306fbc21aeb640ebbb8e9..dfb8ce591013fe65ec271c3de21d924337e17506 100644
--- a/src/main/java/Enigma/App.java
+++ b/src/main/java/enigma/App.java
@@ -1,12 +1,13 @@
-package Enigma;
+package enigma;
 
-import Enigma.model.*;
+import 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;
 
 /**
@@ -14,22 +15,49 @@ import java.io.IOException;
  */
 public class App extends Application {
 
+	/**
+	 * TODO Dokumentieren
+	 */
 	private static Scene scene;
 	private Codierer c;
 
+	/**
+	 * TODO Dokumentieren
+	 *
+	 * @param fxml
+	 * @throws IOException
+	 */
 	static void setRoot(String fxml) throws IOException {
 		scene.setRoot(loadFXML(fxml));
 	}
 
+	/**
+	 * TODO Dokumentieren
+	 *
+	 * @param fxml
+	 * @return
+	 * @throws IOException
+	 */
 	private static Parent loadFXML(String fxml) throws IOException {
 		FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource(fxml + ".fxml"));
 		return fxmlLoader.load();
 	}
 
+	/**
+	 * TODO Dokumentieren
+	 *
+	 * @param args
+	 */
 	public static void main(String[] args) {
 		Application.launch();
 	}
 
+	/**
+	 * TODO Dokumentieren
+	 *
+	 * @param stage
+	 * @throws IOException
+	 */
 	@Override
 	public void start(Stage stage) throws IOException {
 		scene = new Scene(loadFXML("gui"));
@@ -38,19 +66,19 @@ public class App extends Application {
 
 		this.c = new Codierer();
 
-        /**
-         * TODO: Nur zum Testen muss später wieder gelöscht werden.
-         */
-        //region Test
+		/**
+		 * TODO: Nur zum Testen muss später wieder gelöscht werden.
+		 */
+		//region Test
 		c.setKenngruppe("deisold");
 		String nachricht = "Hello world.";
 
 		for (char buchstabe : nachricht.toCharArray()) {
-		    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());
-            }
+			if (buchstabe > 0) {
+				System.out.print(buchstabe + ":");
+				System.out.print(c.getHardware().codiere(buchstabe));
+				System.out.println(" W1:" + c.getHardware().getWalzen()[0].getPosition() + " W2:" + c.getHardware().getWalzen()[1].getPosition() + " W3:" + c.getHardware().getWalzen()[2].getPosition());
+			}
 		}
 		try {
 			System.out.println(c.getNachricht());
diff --git a/src/main/java/Enigma/GuiController.java b/src/main/java/enigma/GuiController.java
similarity index 99%
rename from src/main/java/Enigma/GuiController.java
rename to src/main/java/enigma/GuiController.java
index c9da5dbc7ee56f3512242a3c8a67f13a4f421bdd..c0aa5574e3fd964d7675e1e172924cdb2d8addb1 100644
--- a/src/main/java/Enigma/GuiController.java
+++ b/src/main/java/enigma/GuiController.java
@@ -1,4 +1,4 @@
-package Enigma;
+package enigma;
 
 import javafx.event.ActionEvent;
 import javafx.fxml.FXML;
diff --git a/src/main/java/Enigma/KenngruppeController.java b/src/main/java/enigma/KenngruppeController.java
similarity index 92%
rename from src/main/java/Enigma/KenngruppeController.java
rename to src/main/java/enigma/KenngruppeController.java
index a72feab71a816a33b95db6f7b4abfe44b0176c52..a1049e199af8e9f5f698d8a4acb6f8b673fa076c 100644
--- a/src/main/java/Enigma/KenngruppeController.java
+++ b/src/main/java/enigma/KenngruppeController.java
@@ -1,4 +1,4 @@
-package Enigma;
+package enigma;
 
 import java.io.IOException;
 import javafx.fxml.FXML;
diff --git a/src/main/java/Enigma/Main.java b/src/main/java/enigma/Main.java
similarity index 90%
rename from src/main/java/Enigma/Main.java
rename to src/main/java/enigma/Main.java
index 4f2fece9c79475a0e712dcdf5f8c80ff91641626..22bb0df9e78ca242102994c499a059a629b4c57a 100644
--- a/src/main/java/Enigma/Main.java
+++ b/src/main/java/enigma/Main.java
@@ -1,4 +1,4 @@
-package Enigma;
+package enigma;
 
 
 import java.sql.SQLException;
diff --git a/src/main/java/Enigma/model/DatenbankSqlite.java b/src/main/java/enigma/database/DatenbankSqlite.java
similarity index 97%
rename from src/main/java/Enigma/model/DatenbankSqlite.java
rename to src/main/java/enigma/database/DatenbankSqlite.java
index 236b2bbeb90acf80cf2f127a627c5236e3757867..2030867a201441681d386b5b43008c7894b93101 100644
--- a/src/main/java/Enigma/model/DatenbankSqlite.java
+++ b/src/main/java/enigma/database/DatenbankSqlite.java
@@ -1,4 +1,6 @@
-package Enigma.model;
+package enigma.database;
+
+import enigma.model.Codebuch;
 
 import java.sql.*;
 
@@ -22,7 +24,7 @@ public class DatenbankSqlite {
 	 */
 	private Connection connect() {
 
-		String url = "jdbc:sqlite::resource:Enigma/codebuch.sqlite";
+		String url = "jdbc:sqlite::resource:enigma/codebuch.sqlite";
 		Connection conn = null;
 
 		try {
diff --git a/src/main/java/Enigma/model/Codebuch.java b/src/main/java/enigma/model/Codebuch.java
similarity index 97%
rename from src/main/java/Enigma/model/Codebuch.java
rename to src/main/java/enigma/model/Codebuch.java
index ee7b96e0aa0af4d2e3a48a12f88631c039944a2c..8b2c0eedbc7981f8b5bff407be9d82b5f6a05647 100644
--- a/src/main/java/Enigma/model/Codebuch.java
+++ b/src/main/java/enigma/model/Codebuch.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 /**
  * Das Codebuch war eines der essentiel wichtigen Sachen bei der Enigma.
@@ -17,6 +17,9 @@ package Enigma.model;
  * geben kann.
  */
 public class Codebuch {
+	/**
+	 * TODO Dokumentieren
+	 */
 	private int tag;
 	private int[] walzenlage;
 	private int[] ringstellung;
@@ -63,7 +66,8 @@ public class Codebuch {
 			sb.append(wl).append(",");
 			wlLoop = true;
 		}
-		if (wlLoop) {
+		// TODO
+		if (this.getWalzenlage().length > 0) {
 			sb.setLength(sb.length() - 1);
 		}
 		sb.append("\n");
@@ -132,6 +136,7 @@ public class Codebuch {
 	 *
 	 * @return String[] : Steckverbindung
 	 */
+	// TODO
 	public char[][] getSteckverbindung() {
 		return this.steckverbindung;
 	}
diff --git a/src/main/java/Enigma/model/Codierer.java b/src/main/java/enigma/model/Codierer.java
similarity index 91%
rename from src/main/java/Enigma/model/Codierer.java
rename to src/main/java/enigma/model/Codierer.java
index dfc7d673e2c8d659177a968a1b1f9576bbc33823..54b3744bd362e15e2957ed4e2899e33b7fe5604c 100644
--- a/src/main/java/Enigma/model/Codierer.java
+++ b/src/main/java/enigma/model/Codierer.java
@@ -1,5 +1,6 @@
-package Enigma.model;
+package enigma.model;
 
+import enigma.database.DatenbankSqlite;
 import org.apache.http.HttpException;
 
 import java.io.IOException;
@@ -8,14 +9,23 @@ import java.time.LocalDate;
 import java.time.ZoneId;
 import java.util.Random;
 
+/**
+ * TODO Dokumentieren
+ */
 public class Codierer {
 
+	/**
+	 * TODO Dokumentieren
+	 */
 	private String spruchschluessel;
 	private String kenngruppe;
 	private String nachricht;
 	private Hardware hardware;
 	private Codebuch codebuch;
 
+	/**
+	 * TODO Dokumentieren
+	 */
 	public Codierer() {
 		this.nachricht = "";
 		initialisiereHardware();
@@ -25,10 +35,10 @@ public class Codierer {
 	 * 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>
+	 * <br>
 	 * 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>
+	 * <br>
 	 * Das Steck wird ebenfalls definiert und die notwendigen Kabel eingesteckt laut dem heutigen
 	 * Codebuch Eintrag.
 	 */
@@ -67,17 +77,17 @@ public class Codierer {
 	 * 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.
-	 *
+	 * <p>
 	 * 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.
-	 *
+	 * <p>
 	 * 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) {
+		while (this.spruchschluessel.length() < 3) {
 			String temp = this.randomBuchstabe();
-			if(!this.spruchschluessel.contains(temp)) {
+			if (!this.spruchschluessel.contains(temp)) {
 				this.spruchschluessel += temp;
 			}
 		}
@@ -91,15 +101,7 @@ public class Codierer {
 	 * @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);
+		return String.valueOf((char) ('A' + new Random().nextInt(26)));
 	}
 
 	/**
@@ -114,7 +116,7 @@ public class Codierer {
 
 	/**
 	 * Gibt die letzte empfangene Nachricht zurück
-	 * <p>
+	 * <br>
 	 * String[0} Tag wann die Nachricht gesendet wurde
 	 * String[1] = Die verschlüsselte Nachricht
 	 * String[2] = Nachricht im Klartext
@@ -126,13 +128,13 @@ public class Codierer {
 		try {
 			codierteNachricht = new Funkraum().empfangeFunkspruch(this.kenngruppe);
 			String morsecode = mc.convertMorsecodeToBuchstabe(codierteNachricht[1]);
-			String decodiert = "";
 
+			StringBuilder decodiert = new StringBuilder();
 			for (char buchstabe : morsecode.toCharArray()) {
-				decodiert += this.hardware.codiere(buchstabe);
+				decodiert.append(this.hardware.codiere(buchstabe));
 			}
 
-			codierteNachricht[2] = decodiert;
+			codierteNachricht[2] = decodiert.toString();
 
 		} catch (IOException e) {
 			e.printStackTrace();
diff --git a/src/main/java/Enigma/model/Funkraum.java b/src/main/java/enigma/model/Funkraum.java
similarity index 99%
rename from src/main/java/Enigma/model/Funkraum.java
rename to src/main/java/enigma/model/Funkraum.java
index acb4e632acca7338eebcb5ad1044df34a7570576..720157a7980adf784d025de1a6999722b5fdaf72 100644
--- a/src/main/java/Enigma/model/Funkraum.java
+++ b/src/main/java/enigma/model/Funkraum.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package 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/enigma/model/Hardware.java
similarity index 89%
rename from src/main/java/Enigma/model/Hardware.java
rename to src/main/java/enigma/model/Hardware.java
index 21d6626d16aa06a322975e008f4625ee543dad1a..36ea74b5fbc4e4bdd5efb5a689124d73ae8e08f4 100644
--- a/src/main/java/Enigma/model/Hardware.java
+++ b/src/main/java/enigma/model/Hardware.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 /**
  * In dieser Klasse wird die Hardware zusammen gefasst.
@@ -15,6 +15,9 @@ package Enigma.model;
  */
 public class Hardware {
 
+	/**
+	 * TODO Dokumentieren
+	 */
 	private Walze[] walzen;
 	private Steckbrett steckbrett;
 	private Reflektor reflektor;
@@ -64,29 +67,17 @@ public class Hardware {
 	 * @return char : Der ver/entschlüsselte Buchstabe
 	 */
 	public char codiere(char buchstabe) {
-		System.out.println(this.walzen[2].getPosition());
 		this.dreheWalzen();
-		System.out.println(this.walzen[2].getPosition());
 
-		System.out.print(buchstabe);
 		buchstabe = this.steckbrett.codiere(Character.toUpperCase(buchstabe));
-		System.out.print(" : " + buchstabe);
 		buchstabe = this.walzen[2].codiere(buchstabe);
-		System.out.print(" : " + buchstabe);
 		buchstabe = this.walzen[1].codiere(buchstabe);
-		System.out.print(" : " + buchstabe);
 		buchstabe = this.walzen[0].codiere(buchstabe);
-		System.out.print(" : " + buchstabe);
 		buchstabe = this.reflektor.codiere(buchstabe);
-		System.out.print(" : " + buchstabe);
 		buchstabe = this.walzen[0].codiere2(buchstabe);
-		System.out.print(" : " + buchstabe);
 		buchstabe = this.walzen[1].codiere2(buchstabe);
-		System.out.print(" : " + buchstabe);
 		buchstabe = this.walzen[2].codiere2(buchstabe);
-		System.out.print(" : " + buchstabe);
 		buchstabe = this.steckbrett.codiere(buchstabe);
-		System.out.println(" : " + buchstabe);
 
 		return buchstabe;
 	}
@@ -162,5 +153,15 @@ public class Hardware {
 		this.reflektor = reflektor;
 	}
 
+	/**
+	 * Diese Funktion setzt die Walzen auf ihren Anfangswert zurück.
+	 * Hierfür ist der Buchstabe "A" festgelegt.
+	 * Dies wird benötigt um zB einen neuen Spruchschlüssel einzustellen oder eine neue Nachricht zu verfassen.
+	 */
+	public void resetWalzen() {
+		this.getWalzen()[0].setPosition('A');
+		this.getWalzen()[1].setPosition('A');
+		this.getWalzen()[2].setPosition('A');
+	}
 
 }
diff --git a/src/main/java/Enigma/model/Morsecode.java b/src/main/java/enigma/model/Morsecode.java
similarity index 99%
rename from src/main/java/Enigma/model/Morsecode.java
rename to src/main/java/enigma/model/Morsecode.java
index 67284f5d4103ff37ddbaa2fdb48ff40b4c63de61..fdcf5c10015065dd6d9ff64927cc653f50f52a8e 100644
--- a/src/main/java/Enigma/model/Morsecode.java
+++ b/src/main/java/enigma/model/Morsecode.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 import java.util.*;
 import java.util.Map.Entry;
diff --git a/src/main/java/Enigma/model/Reflektor.java b/src/main/java/enigma/model/Reflektor.java
similarity index 99%
rename from src/main/java/Enigma/model/Reflektor.java
rename to src/main/java/enigma/model/Reflektor.java
index f1a34870aefeb8b1de5952a4e91e049396c39e75..4aabb1b6841b475125ee7fd8c5df1feb0a158f86 100644
--- a/src/main/java/Enigma/model/Reflektor.java
+++ b/src/main/java/enigma/model/Reflektor.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 /**
  * Klasse Reflektor
diff --git a/src/main/java/Enigma/model/Steckbrett.java b/src/main/java/enigma/model/Steckbrett.java
similarity index 89%
rename from src/main/java/Enigma/model/Steckbrett.java
rename to src/main/java/enigma/model/Steckbrett.java
index 5e7652a2ba64dba43d8d799a93fb267157853115..4a87914f16fa5e070ae4ead59112da5b705c969a 100644
--- a/src/main/java/Enigma/model/Steckbrett.java
+++ b/src/main/java/enigma/model/Steckbrett.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 /**
  *TODO Dokumentieren
@@ -23,9 +23,10 @@ public class Steckbrett {
 
     /**
      *TODO Dokumentieren
-     * @param buchstabe1
-     * @param buchstabe2
-     * @return
+     *
+     * @param buchstabe1 : char
+     * @param buchstabe2 : char
+     * @return boolean
      */
     public boolean setzeVertauschung(char buchstabe1, char buchstabe2) {
 
@@ -41,7 +42,8 @@ public class Steckbrett {
 
     /**
      *TODO Dokumentieren
-     * @return
+     *
+     * @return boolean
      */
     public boolean ueberpruefeVertauschungen() {
 
@@ -58,8 +60,9 @@ public class Steckbrett {
 
     /**
      * TODO Dokumentieren
-     * @param buchstabe
-     * @return
+     *
+     * @param buchstabe : Character
+     * @return char
      */
     public char codiere(Character buchstabe) {
 
diff --git a/src/main/java/Enigma/model/Walze.java b/src/main/java/enigma/model/Walze.java
similarity index 80%
rename from src/main/java/Enigma/model/Walze.java
rename to src/main/java/enigma/model/Walze.java
index b6c1327e4ff335403e46c6d2e35c01b9b4506321..3f94ead3179b792e608b9673846bad270401d1e6 100644
--- a/src/main/java/Enigma/model/Walze.java
+++ b/src/main/java/enigma/model/Walze.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 /**
  * Klasse Walze
@@ -29,7 +29,6 @@ public class Walze {
 	private Character buchstabe;
 	private char ringstellung;
 	private int walzennr;
-	private int iPositionBuchstabe;
 	private Character[] alphabet;
 
 
@@ -43,8 +42,7 @@ public class Walze {
 		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.walzennr = walzennr;
 		this.buchstabe = 'A';
-		this.iPositionBuchstabe = 0;
-		this.ringstellung = this.alphabet[ringstellung -  1];
+		this.ringstellung = this.alphabet[ringstellung - 1];
 		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'};
 	}
 
@@ -55,6 +53,7 @@ public class Walze {
 	 * @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'};
@@ -83,26 +82,9 @@ public class Walze {
 		return walze;
 	}
 
-
-	/**
-	 *  TODO Dokumentieren
-	 * @return
-	 */
-	//walzenPosition() return int => Gibt die aktuelle Position des Buchstabens zurück
-	public char walzenPosition() {
-
-		/*Alphabetswalze*/
-		Character[] walzeAlphabeth = {'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'};
-
-		return walzeAlphabeth[iPositionBuchstabe];
-	}
-
-
-	//setzeNotch(int position) => Setze Startpunkt auf int Position des Buchstabens
-	// Setter für Ringstellung
-
 	/**
-	 *  TODO Dokumentieren
+	 * TODO Dokumentieren
+	 *
 	 * @return ringstellung : Character : gibt die neue Ringstellung zurueck
 	 */
 	public char getRingstellung() {
@@ -117,7 +99,6 @@ public class Walze {
 	 * @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 {
@@ -129,21 +110,19 @@ public class Walze {
 	 * dreheWalze() return boolean => Wenn Notch erreicht, gib true zurück, ansonsten false
 	 * TODO Doku
 	 */
-	public boolean dreheWalze(int... args) {
+	public boolean dreheWalze(int... drehung) {
 
 		boolean checkRing = false;
 
-		if (args[0] > 1) {
-			for (int i = 0; i < args[0]; i++) {
+		verschiebung();
+
+		if (drehung.length > 0) {
+			for (int i = 1; i < drehung[0]; i++) {
 				verschiebung();
 			}
-		} else {
-			verschiebung();
 		}
 
-		setPosition(walzeAlpha[0]);
-
-		if(this.getPosition().equals(this.ringstellung)) {
+		if (this.getPosition().equals(this.ringstellung)) {
 			checkRing = true;
 		}
 
@@ -151,18 +130,24 @@ public class Walze {
 	}
 
 	/**
-	 *  TODO Dokumentieren
+	 * TODO Dokumentieren
 	 */
-	public void verschiebung() {
+	private void verschiebung() {
 
 		Character[] neueWalze = new Character[26];
-		for (int index = 0; index < 25; index++) {
-			neueWalze[index + 1] = this.walzeAlpha[index];
+
+		for (int index = 0; index < neueWalze.length; index++) {
+			neueWalze[(index + 1) % neueWalze.length] = this.walzeAlpha[index];
 		}
-		neueWalze[0] = this.walzeAlpha[25];
 		this.walzeAlpha = neueWalze;
 	}
 
+	public char getAnzeige() {
+		int temp = this.getArrayIndex('A', this.walzeAlpha);
+
+		return this.alphabet[temp];
+	}
+
 
 	/**
 	 * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabe()
@@ -171,7 +156,6 @@ public class 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];
@@ -200,11 +184,9 @@ public class Walze {
 		return buchstabe;
 	}
 
-//_________________________________________________________________________________________
-
-
 	/**
 	 * TODO Dokumentieren
+	 *
 	 * @return buchstabe : Character : gibt den neuen Buchstaben zurueck
 	 */
 	public Character getBuchstabe() {
@@ -212,45 +194,26 @@ public class Walze {
 	}
 
 	/**
-	 * 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
+	 * TODO Dokumentieren
 	 *
-	 * @param buchstabe : Character : Grundeinstellung der Walze
+	 * @param buchstabe : Character
+	 * @param array : Character[]
+	 * @return int
 	 */
-	public void setPosition(Character buchstabe) {
+	private int getArrayIndex(Character buchstabe, Character[] array) {
 
-		if (Character.isLetter(buchstabe)) {
-			this.buchstabe = Character.toUpperCase(buchstabe);
-			System.arraycopy(this.alphabet, 0, this.walzeAlpha, 0, this.alphabet.length);
-			dreheWalze(this.getArrayIndex(buchstabe, this.alphabet) + 1);
-		} else {
-			this.buchstabe = 'A';
-		}
-	}
-
-	/**
-	 * TODO Dokumentieren
-	 * @param buchstabe
-	 * @param array
-	 * @return
-	 */
-	public 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;
 	}
 
-	//TODO: ??? Brauchen wir Setter, wo findet Überprüfung der Walzennr. statt.
-	// Überprüfung sollte in walzenNummer() statt finden.
-
 	/**
 	 * Definiert die Walze. Es stehen fuenf Walze zur Auswahl.
 	 *
@@ -267,9 +230,29 @@ public class Walze {
 	/**
 	 * TODO: Dokumentieren
 	 *
-	 * @return
+	 * @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)) {
+			this.buchstabe = Character.toUpperCase(buchstabe);
+			System.arraycopy(this.alphabet, 0, this.walzeAlpha, 0, this.alphabet.length);
+			if (buchstabe > 'A') {
+				dreheWalze(this.getArrayIndex(buchstabe, this.alphabet));
+			}
+		} else {
+			this.buchstabe = 'A';
+		}
+	}
 }
diff --git a/src/main/resources/Enigma/codebuch.sqlite b/src/main/resources/enigma/codebuch.sqlite
similarity index 100%
rename from src/main/resources/Enigma/codebuch.sqlite
rename to src/main/resources/enigma/codebuch.sqlite
diff --git a/src/main/resources/Enigma/gui.fxml b/src/main/resources/enigma/gui.fxml
similarity index 99%
rename from src/main/resources/Enigma/gui.fxml
rename to src/main/resources/enigma/gui.fxml
index 8e37b9ab457e5c35efd2d026799d959eeab801fc..31021a251ba411730a898d96849369f46a7e9c96 100644
--- a/src/main/resources/Enigma/gui.fxml
+++ b/src/main/resources/enigma/gui.fxml
@@ -8,7 +8,7 @@
 <?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">
+<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="circ1" fill="#f0f3f5" layoutX="119.0" layoutY="309.0" radius="22.0" stroke="BLACK" strokeType="INSIDE" />
       <TextField fx:id="tfStecker1" layoutX="104.0" layoutY="631.0" prefHeight="25.0" prefWidth="48.0" AnchorPane.bottomAnchor="20.0" AnchorPane.leftAnchor="104.0" />
diff --git a/src/main/resources/Enigma/kenngruppe.fxml b/src/main/resources/enigma/kenngruppe.fxml
similarity index 93%
rename from src/main/resources/Enigma/kenngruppe.fxml
rename to src/main/resources/enigma/kenngruppe.fxml
index 69a72c6d5d706fe354cbc42579769619f52d23df..1f56acace75752e4df64dc9ae1d65140bab3b349 100644
--- a/src/main/resources/Enigma/kenngruppe.fxml
+++ b/src/main/resources/enigma/kenngruppe.fxml
@@ -6,7 +6,7 @@
 <?import javafx.scene.layout.AnchorPane?>
 
 
-<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">
+<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!" AnchorPane.leftAnchor="70.0" AnchorPane.rightAnchor="70.0" AnchorPane.topAnchor="30.0" />
       <Button fx:id="secondaryButton" layoutX="72.0" layoutY="178.0" onAction="#switchToPrimary" text="Kenngruppe bestätigen!" AnchorPane.leftAnchor="70.0" AnchorPane.rightAnchor="70.0" AnchorPane.topAnchor="170.0" />
diff --git a/src/test/java/Enigma/model/CodebuchTest.java b/src/test/java/enigma/model/CodebuchTest.java
similarity index 91%
rename from src/test/java/Enigma/model/CodebuchTest.java
rename to src/test/java/enigma/model/CodebuchTest.java
index ce6a4f75f740e9ac93b1bd2b160444047bab133a..5dd7d2ed0157a2ce26dbea07d991b90065608785 100644
--- a/src/test/java/Enigma/model/CodebuchTest.java
+++ b/src/test/java/enigma/model/CodebuchTest.java
@@ -1,5 +1,6 @@
-package Enigma.model;
+package enigma.model;
 
+import enigma.database.DatenbankSqlite;
 import org.junit.Assert;
 import org.junit.Test;
 import java.sql.SQLException;
diff --git a/src/test/java/Enigma/model/HardwareTest.java b/src/test/java/enigma/model/HardwareTest.java
similarity index 58%
rename from src/test/java/Enigma/model/HardwareTest.java
rename to src/test/java/enigma/model/HardwareTest.java
index 90a3936f217a4a9c74176ecbe6345070843de251..5eaeec04b8fc5e4b8fdcf726e901998350f04e31 100644
--- a/src/test/java/Enigma/model/HardwareTest.java
+++ b/src/test/java/enigma/model/HardwareTest.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -7,6 +7,7 @@ public class HardwareTest {
 
 	@Test
 	public void tippeBuchstabe() {
+
 		Hardware h = new Hardware();
 		h.setReflektor(new Reflektor());
 		h.setSteckbrett(new Steckbrett());
@@ -19,32 +20,34 @@ public class HardwareTest {
         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'};
         Steckbrett  {'B', 'G', 'D', 'F'}
         Steckbrett  {'G', 'B', 'F', 'F'}
-        Walze 3     {'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'};
+    Walze 3    {'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'};
 		Walze 2     {'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'};
 		Walze 1     {'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'};
         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'};
 		*/
 
 		char result;
+		h.resetWalzen();
 		result = h.codiere('A');
-		Assert.assertEquals("Codiere: A Erwartet P, erhalten "+ result, 'P', result);
+		Assert.assertEquals("Codiere: A Erwartet P, erhalten " + result, 'P', result);
 		result = h.codiere('B');
-		Assert.assertEquals("Codiere: B Erwartet R, erhalten "+ result, 'R', result);
+		Assert.assertEquals("Codiere: B Erwartet R, erhalten " + result, 'R', result);
 		result = h.codiere('I');
-		Assert.assertEquals("Codiere: I Erwartet E, erhalten "+ result, 'E', result);
+		Assert.assertEquals("Codiere: I Erwartet E, erhalten " + result, 'E', result);
 		result = h.codiere('F');
-		Assert.assertEquals("Codiere: F Erwartet A, erhalten "+ result, 'A', result);
+		Assert.assertEquals("Codiere: F Erwartet A, erhalten " + result, 'A', result);
 
-		h.getWalzen()[2].setPosition('A');
+		h.resetWalzen();
 		result = h.codiere('P');
-		Assert.assertEquals("Decodiere: P Erwartet A, erhalten "+ result, 'A', result);
+		Assert.assertEquals("Decodiere: P Erwartet A, erhalten " + result, 'A', result);
 		result = h.codiere('R');
-		Assert.assertEquals("Decodiere: R Erwartet B, erhalten "+ result, 'B', result);
+		Assert.assertEquals("Decodiere: R Erwartet B, erhalten " + result, 'B', result);
 		result = h.codiere('E');
-		Assert.assertEquals("Decodiere: E Erwartet I, erhalten "+ result, 'I', result);
+		Assert.assertEquals("Decodiere: E Erwartet I, erhalten " + result, 'I', result);
 		result = h.codiere('A');
-		Assert.assertEquals("Decodiere: A Erwartet F, erhalten "+ result, 'F', result);
+		Assert.assertEquals("Decodiere: A Erwartet F, erhalten " + result, 'F', result);
 
+		h.resetWalzen();
 		h.getSteckbrett().setzeVertauschung('B', 'G');
 		h.getSteckbrett().setzeVertauschung('D', 'F');
 		h.getSteckbrett().setzeVertauschung('I', 'L');
@@ -52,9 +55,10 @@ public class HardwareTest {
 		h.getSteckbrett().setzeVertauschung('T', 'X');
 
 		result = h.codiere('I');
-		Assert.assertEquals("Codiere: Erwartet F, erhalten "+ result, 'F', result);
+		Assert.assertEquals("Codiere: Erwartet F, erhalten " + result, 'D', result);
 
-		result = h.codiere('F');
-		Assert.assertEquals("Codiere: Erwartet I, erhalten "+ result, 'I', result);
+		h.resetWalzen();
+		result = h.codiere('D');
+		Assert.assertEquals("Codiere: Erwartet I, erhalten " + result, 'I', result);
 	}
 }
\ No newline at end of file
diff --git a/src/test/java/Enigma/model/ReflektorTest.java b/src/test/java/enigma/model/ReflektorTest.java
similarity index 96%
rename from src/test/java/Enigma/model/ReflektorTest.java
rename to src/test/java/enigma/model/ReflektorTest.java
index 255e2ff280713b19c888c0f199ad07420fb2130b..793b8cc987f4eabdeda5b27b6e363b5157add7d4 100644
--- a/src/test/java/Enigma/model/ReflektorTest.java
+++ b/src/test/java/enigma/model/ReflektorTest.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/Enigma/model/SteckbrettTest.java b/src/test/java/enigma/model/SteckbrettTest.java
similarity index 96%
rename from src/test/java/Enigma/model/SteckbrettTest.java
rename to src/test/java/enigma/model/SteckbrettTest.java
index f56b31eb015e3815d05aa8ff74ca766f9d10ca7c..0f3fedb099afdc45ce8b57c766dabefd577dff3c 100644
--- a/src/test/java/Enigma/model/SteckbrettTest.java
+++ b/src/test/java/enigma/model/SteckbrettTest.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/Enigma/model/WalzeTest.java b/src/test/java/enigma/model/WalzeTest.java
similarity index 66%
rename from src/test/java/Enigma/model/WalzeTest.java
rename to src/test/java/enigma/model/WalzeTest.java
index 3379019d7913fee1ba2e072b3cc68a6fdb792045..819a94e25da96eafaa0e47901ca0a1be22ad12cc 100644
--- a/src/test/java/Enigma/model/WalzeTest.java
+++ b/src/test/java/enigma/model/WalzeTest.java
@@ -1,4 +1,4 @@
-package Enigma.model;
+package enigma.model;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -10,21 +10,23 @@ public class WalzeTest {
 	@Test
 	public void setRingstellung() {
 		Walze w = new Walze(1, 1);
-		Assert.assertEquals('A', w.walzenPosition());
+		char temp = w.getAnzeige();
+		Assert.assertEquals('A', temp);
 	}
 
 	@Test
 	public void dreheWalze() {
 		Walze w = new Walze(1, 3);
-		assertFalse("false erwartet, true geliefert", w.dreheWalze());
-		char temp = w.walzenPosition();
-		Assert.assertEquals("B erwartet, " + temp + " zurück gegeben", 'B', temp);
+		assertFalse("false erwartet, true geliefert", w.dreheWalze(2));
+		char temp = w.getAnzeige();
+		Assert.assertEquals("C erwartet, " + temp + " zurück gegeben", 'C', temp);
 	}
 
 	@Test
 	public void walzenPoition() {
 		Walze w = new Walze(1, 1);
-		Assert.assertEquals('A', w.walzenPosition());
+		char temp = w.getAnzeige();
+		Assert.assertEquals('A', temp);
 	}
 
 	@Test