diff --git a/src/main/java/Enigma/GuiController.java b/src/main/java/Enigma/GuiController.java
index 67af4eb889ae48d59e2146e7b1638c0b30ecceb8..e3136573da00b273dc44500256c79cf82a391123 100644
--- a/src/main/java/Enigma/GuiController.java
+++ b/src/main/java/Enigma/GuiController.java
@@ -8,7 +8,7 @@ import javafx.scene.control.MenuItem;
 import java.awt.event.ActionEvent;
 import java.util.ArrayList;
 
-public class GuiController2 {
+public class GuiController {
     private ArrayList<MenuItem> mItem;
     private final static String[] str= {"I", "II", "III", "IV", "V"};
     private final static String[] num ={"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26"};
diff --git a/src/main/java/Enigma/model/walze01/SchaltungWalzeNo_1.java b/src/main/java/Enigma/model/walze01/SchaltungWalzeNo_1.java
new file mode 100644
index 0000000000000000000000000000000000000000..616729fe82526871b4ac62e31d5e1751090644a7
--- /dev/null
+++ b/src/main/java/Enigma/model/walze01/SchaltungWalzeNo_1.java
@@ -0,0 +1,20 @@
+package Enigma.model.walze01;
+
+public enum SchaltungWalzeNo_1 {
+
+    A('E') {
+        public int getPos() {
+
+            return foo;
+        }
+    },
+    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 {};
+
+
+    SchaltungWalzeNo_1(char chiffre) {
+    }
+}
+
+
+
+
diff --git a/src/main/java/Enigma/model/walze01/WalzeUli.java b/src/main/java/Enigma/model/walze01/WalzeUli.java
new file mode 100644
index 0000000000000000000000000000000000000000..7964d67283687e329f891308e94940001fc6ef94
--- /dev/null
+++ b/src/main/java/Enigma/model/walze01/WalzeUli.java
@@ -0,0 +1,226 @@
+package Enigma.model.walze01;
+
+public class WalzeUli {
+
+/*
+    private Character buchstabe;
+    private Character ringstellung;
+    private int walzennr;
+    private int iPositionBuchstabe;
+    private int iPositionBuchstabeRe;
+    private Character[] walze;
+*/
+
+public WalzeUli(){}
+    enum SchaltungWalzeNo_I {
+
+
+
+    /**
+     * Gibt die Parameter der Walze mit
+     *
+     * @param walzennr : int : Nummer der gewaehlten Walze
+     * @param buchstabe : Character : Grundeinstellung der Walze
+     * @param ringstellung : Character : Einstellung des Notch
+     */
+    public WalzeUli(int walzennr, Character buchstabe, Character ringstellung) {
+        this.walze = new Character[25];
+        this.walzennr = walzennr;
+        this.buchstabe = buchstabe;
+        this.ringstellung = ringstellung;
+    }
+
+    /**
+     * @return buchstabe : Character : gibt den neuen Buchstaben zurueck
+     */
+    public Character getBuchstabe() {
+        return buchstabe;
+    }
+
+    /**
+     * 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.
+     *
+     * @param buchstabe : Character : Grundeinstellung der Walze
+     */
+    public void setBuchstabe(Character buchstabe) {
+
+        if(Character.isLetter(buchstabe)) {
+            this.buchstabe = Character.toUpperCase(buchstabe);
+        } else {
+            this.buchstabe = 'A';
+        }
+    }
+
+    /**
+     * @return ringstellung : Character : gibt die neue Ringstellung zurueck
+     */
+    public Character getRingstellung() {
+        return ringstellung;
+    }
+
+
+    /**
+     * Gibt die Initiale Ringstellung der Walze an.
+     * Es sind nur Zahlen von 1 - 26 zugelassen.
+     * Im Fehlerfall wird die Ringstellung standardmaessig auf '1' gesetzt.
+     *
+     * @param ringstellung : Character : Punkt an dem die Walze umspringt
+     */
+    public void setRingstellung(Character ringstellung) {
+
+        if(Character.isDigit(ringstellung) && ringstellung > 0 && ringstellung <= 26) {
+            this.ringstellung = ringstellung;
+        } else {
+            this.ringstellung = '1';
+        }
+    }
+
+    /**
+     * @return walzennr : int : gibt die Walzennummer zurueck
+     */
+    public int getWalzennr() {
+        return walzennr;
+    }
+
+    /**
+     * Definiert die Walze. Es stehen fuenf Walze zur Auswahl.
+     *
+     * @param walzennr : int : setzt die Walzennummer
+     */
+    public void setWalzennr(int walzennr) {
+        if(walzennr > 0 && walzennr < 6) {
+            this.walzennr = walzennr;
+        } else {
+            System.err.println("Keine gültige Walzennummer");
+        }
+    }
+
+    /**
+     * Sortiert den Walzennummern das passenden Character-Array mittels switch zu.
+     *
+     * @return walze : Character[] : gibt die gewaehlte Walze zurueck
+     */
+    private Character[] walzenNummer() {
+
+        /*Walze nach der Chiffrierung*/
+        Character[] walzeEins = {'E','K', 'M', 'F', 'L', 'G', 'D', 'Q', 'V', 'Z', 'N', 'T', 'O', 'W', 'Y', 'H', 'X', 'U', 'S', 'P', 'A', 'I', 'B', 'R', 'C', 'J'};
+        Character[] walzeZwei = {'A', 'J', 'D', 'K', 'S', 'I', 'R', 'U', 'X', 'B', 'L', 'H', 'W', 'T', 'M', 'C', 'Q', 'G', 'Z', 'N', 'P', 'Y', 'F', 'V', 'O', 'E'};
+        Character[] walzeDrei = {'B', 'D', 'F', 'H', 'J', 'L', 'C', 'P', 'R', 'T', 'X', 'V', 'Z', 'N', 'Y', 'E', 'I', 'W', 'G', 'A', 'K', 'M', 'U', 'S', 'Q', 'O'};
+        Character[] walzeVier = {'E', 'S', 'O', 'V', 'P', 'Z', 'J', 'A', 'Y', 'Q', 'U', 'I', 'R', 'H', 'X', 'L', 'N', 'F', 'T', 'G', 'K', 'D', 'C', 'M', 'W', 'B'};
+        Character[] walzeFuenf = {'V', 'Z', 'B', 'R', 'G', 'I', 'T', 'Y', 'U', 'P', 'S', 'D', 'N', 'H', 'L', 'X', 'A', 'W', 'M', 'J', 'Q', 'O', 'F', 'E', 'C', 'K'};
+
+        switch (getWalzennr()) {
+            case 1:
+                walze = walzeEins;
+                break;
+            case 2:
+                walze = walzeZwei;
+                break;
+            case 3:
+                walze = walzeDrei;
+                break;
+            case 4:
+                walze = walzeVier;
+                break;
+            case 5:
+                walze = walzeFuenf;
+                break;
+        }
+
+        return walze;
+    }
+
+    /**
+     * Ermittelt die Position des Buchstaben auf der Alphabetswalze, um die Position mit
+     * der Chiffrierung auf der gewaehlten Walze abgleichen zu koennen.
+     *
+     * @return iPositionBuchstabe : int : Position des Buchstaben im Array
+     */
+    public int positionBuchstabe() {
+
+        /*Alphabetswalze*/
+        Character[] walzeAlpha = {'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'};
+
+        /*Ermittelt die Position des Buchstaben buchstabe auf der Alphabetswalze*/
+        for(int index = 0; index < walzeAlpha.length; index++) {
+            if(getBuchstabe().equals(walzeAlpha[index])) {
+                iPositionBuchstabe = index;
+                break;
+            }
+        }
+
+        return iPositionBuchstabe;
+    }
+
+
+    /**
+     * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabe()
+     * anhand der gewaehlten Walze.
+     *
+     * @param iPositionBuchstabe : int : Position des zu chiffrierenden Buchstabens
+     * @param walze : Character[] : ausgewaehlte Walze
+     * @return chiffrierterBuchstabe : Character : chiffrierter Buchstabe
+     */
+    public Character codiereBuchstabe(int iPositionBuchstabe, Character[] walze) {
+        Character codierterBuchstabe = walze[iPositionBuchstabe];
+        return codierterBuchstabe;
+    }
+
+
+    /**
+     * Nimmt die Startposition, die aus der Walzeneinstellung geholt wird und
+     * erhoeht sie um eins.
+     * Die Variable wird ueberschrieben und zaehlt von nun an die Position mit.
+     * Ab Position 25 wird wieder bei 0 angefangen.
+     *
+     * @param iPositionBuchstabe : int : alte Position der Walze
+     * @return iPositionBuchstabe : int : neue Position der Walze
+     */
+    public int vorstellenDerWalze(int iPositionBuchstabe) {
+
+        if(iPositionBuchstabe == 25) {
+            iPositionBuchstabe = 0;
+        } else {
+            iPositionBuchstabe += 1;
+        }
+
+        return iPositionBuchstabe;
+    }
+
+    /**
+     * Ermittelt die Position des Buchstaben auf der gewaehlten Walze, um die Position mit
+     * der Chiffrierung auf der AlphaWalze abgleichen zu koennen.
+     *
+     * @param walzennr : int : gibt die gewaehlte Walze zurueck
+     * @return iPositionBuchstabeRe : int : Position des Buchstaben im Array
+     */
+    public int positionBuchstabeReverse(int walzennr) {
+
+        /*Ermittelt die Position des Buchstaben buchstabe auf der Alphabetswalze*/
+        for(int index = 0; index < walze.length; index++) {
+            if(getBuchstabe().equals(walze[index])) {
+                iPositionBuchstabeRe = index;
+                break;
+            }
+        }
+        return iPositionBuchstabeRe;
+    }
+
+    /**
+     * Chiffriert den Buchstaben an der Position aus der Methode positionBuchstabeReverse()
+     * anhand der AlphaWalze.
+     *
+     * @param iPositionBuchstabeRe : int : Position des zu chiffrierenden Buchstabens
+     * @return codierterBuchstabeRe : Character : chiffrierter Buchstabe
+     */
+    public Character codierterBuchstabeReverse(int iPositionBuchstabeRe) {
+        /*Alphawalze*/
+        Character[] walzeAlpha = {'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'};
+
+        Character codierterBuchstabeRe = walzeAlpha[iPositionBuchstabeRe];
+        return codierterBuchstabeRe;
+    }
+
+}