diff --git a/src/main/java/Enigma/model/Walze.java b/src/main/java/Enigma/model/Walze.java
index 36ac2336bc40ce093bbbc6bb7a9e124c9a4e1539..6be3bde64f424e9489a1ef742b017137d2bed073 100644
--- a/src/main/java/Enigma/model/Walze.java
+++ b/src/main/java/Enigma/model/Walze.java
@@ -32,6 +32,7 @@ public class Walze {
 	private int ringstellung;
 	private int walzennr;
 	private int iPositionBuchstabe;
+	private int verschoben;
 	private Character[] walze;
 
 
@@ -42,10 +43,11 @@ public class Walze {
 	 * @param ringstellung : Character : Einstellung des Notch
 	 */
 	public Walze(int walzennr, int ringstellung) {
-		this.walze = new Character[25];
+		this.walze = new Character[26];
 		this.walzennr = walzennr;
 		this.buchstabe = 'A';
 		this.iPositionBuchstabe = 0;
+		this.verschoben = 0;
 		this.ringstellung = ringstellung;
 	}
 
@@ -133,56 +135,55 @@ public class Walze {
 			this.iPositionBuchstabe += 1;
 		}
 
-		checkRing = this.iPositionBuchstabe == getRingstellung();
+		checkRing = this.iPositionBuchstabe == (getRingstellung() - 1);
+
+		setBuchstabe(walzeAlpha[iPositionBuchstabe]);
 
 		return checkRing;
 	}
 
+	public int verschiebung(int i) {
+
+		if((i + iPositionBuchstabe) >= 26) {
+			int verschoben = (i + iPositionBuchstabe) - 26 ;
+		} else {
+			verschoben = i + iPositionBuchstabe;
+		}
+
+		return verschoben;
+	}
 
-	//codiere(char buchstabe) return char => Gibt den verschlüsselten Buchstaben zurück
 
 	/**
 	 * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabe()
 	 * anhand der gewaehlten Walze.
 	 *
-	 * @param
 	 * @return chiffrierterBuchstabe : Character : chiffrierter Buchstabe
 	 */
 	public char codiere(char buchstabe) {
-		/**
-		 * TODO: contains fragt ab ob der char im Alphabet enthalten ist. Das sollten wir vielleicht noch in eine
-		 * Hilfsfunktion packen. Vielleicht sogar in der Hardware Klasse.
-		 */
-		boolean contains = false;
+
 		for (int i = 0; i < walzeAlpha.length; i++) {
 			if (walzeAlpha[i].equals(buchstabe)) {
-				buchstabe = walzenNummer()[i];
-				contains = true;
+				buchstabe = walzenNummer()[verschiebung(i)];
 				break;
 			}
 		}
-		if(!contains) {
-			buchstabe = 'X';
-		}
 
 		return buchstabe;
 	}
 
 
-	//codiere2(char buchstabe) => Gibt den vertauschten Buchstaben zurück (Reverse)
-
 	/**
 	 * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabeReverse()
 	 * anhand der AlphaWalze.
 	 *
-	 * @param
 	 * @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];
+				buchstabe = walzeAlpha[verschiebung(i)];
 				break;
 			}
 		}