diff --git a/src/main/java/Enigma/model/Hardware.java b/src/main/java/Enigma/model/Hardware.java
new file mode 100644
index 0000000000000000000000000000000000000000..12f208eae012389f33458f4651cdb06282987786
--- /dev/null
+++ b/src/main/java/Enigma/model/Hardware.java
@@ -0,0 +1,120 @@
+package Enigma.model;
+
+public class Hardware {
+
+	private Walze[] walzen;
+	private Steckbrett steckbrett;
+	private Reflektor reflektor;
+	private String nachricht;
+	private String kenngruppe;
+
+	/**
+	 * Setzt eine Walze ein
+	 *
+	 * @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) {
+	}
+
+	/**
+	 * Setzt den Notch der Walze
+	 *
+	 * @param walze    : int : Position der Walze
+	 * @param position : int : Umspringpunkt auf der Walze
+	 */
+	public void setzeRing(int walze, int position) {
+	}
+
+	/**
+	 * Setzt den Startwert (position) der Walze (walze)
+	 *
+	 * @param walze
+	 * @param buchstabe
+	 */
+	public void setzePosition(int walze, char buchstabe) {
+	}
+
+	// Befehl die Nachricht an den Funker zu übergeben
+	public void sendeNachricht() {
+		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() {
+		String[] result = new String[2];
+
+		return result;
+	}
+
+	/**
+	 * Fügt die gedrückte Taste der Nachricht hinzu
+	 *
+	 * @param buchstabe char : Der zu verschlüsselnde Buchstabe
+	 * @return char : Der verschlüsselte Buchstabe
+	 */
+	public char tippeBuchstabe(char buchstabe) {
+		buchstabe = this.steckbrett.codiere(buchstabe);
+		buchstabe = this.walzen[1].codiere(buchstabe);
+		buchstabe = this.walzen[2].codiere(buchstabe);
+		buchstabe = this.walzen[3].codiere(buchstabe);
+		buchstabe = this.reflektor.codiere(buchstabe);
+		buchstabe = this.walzen[3].codiere2(buchstabe);
+		buchstabe = this.walzen[2].codiere2(buchstabe);
+		buchstabe = this.walzen[1].codiere2(buchstabe);
+		buchstabe = this.steckbrett.codiere2(buchstabe);
+
+		this.nachricht += buchstabe;
+
+		return buchstabe;
+	}
+
+	/**
+	 * Nachricht entschlüsseln
+	 *
+	 * @param nachricht : String : Verschlüsselte Nachricht
+	 * @return String : Die Klartext Nachricht
+	 */
+	private String decodiereNachricht(String nachricht) {
+		String result = "";
+
+		return result;
+	}
+
+	public Walze[] getWalzen() {
+		return this.walzen;
+	}
+
+	public void setWalzen(int walze, int position, char ringstellung) {
+		this.walzen[position] = new Walze(walze, ringstellung);
+	}
+
+	public Steckbrett getSteckbrett() {
+		return steckbrett;
+	}
+
+	public void setSteckbrett(Steckbrett steckbrett) {
+		this.steckbrett = steckbrett;
+	}
+
+	public Reflektor getReflektor() {
+		return reflektor;
+	}
+
+	public void setReflektor(Reflektor reflektor) {
+		this.reflektor = reflektor;
+	}
+
+	public String getKenngruppe() {
+		return kenngruppe;
+	}
+
+	public void setKenngruppe(String kenngruppe) {
+		this.kenngruppe = kenngruppe;
+	}
+}