diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java
index 6d6cfd4a261199a9f6d5a8520af2c8a270469b5a..29f3a5f5df6769a7ca5efe5e732c001228be4122 100644
--- a/src/tec/letsgoing/ardublock/simulator/Simulator.java
+++ b/src/tec/letsgoing/ardublock/simulator/Simulator.java
@@ -27,14 +27,13 @@ import tec.letsgoing.ardublock.simulator.simcode.vars.CodeMillis;
 import tec.letsgoing.ardublock.simulator.view.GUI;
 
 /**
- * Diese Klasse verwaltet alle Elemente des Simulators. Sie ist geschrieben als Singelton.
- * Daher wird die Instanz über getInstance geholt und der Konstruktor ist private.
+ * Diese Klasse verwaltet alle Elemente des Simulators. Sie ist geschrieben als
+ * Singelton. Daher wird die Instanz über getInstance geholt und der Konstruktor
+ * ist private.
  * 
  * 
- * Pinmapping: 
- * RGB: 9,10,11
- * Poti: A5
- * Button: 3,4,5
+ * Pinmapping: RGB: 9,10,11 Poti: A5 Button: 3,4,5
+ * 
  * @author Lucas
  * 
  * 
@@ -48,7 +47,7 @@ public class Simulator implements Runnable, ActionListener {
 	private Thread simuThread;
 
 	private Vector<SimCodeFunction> functionsCode = new Vector<SimCodeFunction>();
-	
+
 	private Simulator() {
 		createSubClasses();
 	}
@@ -121,7 +120,7 @@ public class Simulator implements Runnable, ActionListener {
 				arduino.errorAbort("Thread Überwachung gestört - Bitte Programm neustarten");
 			}
 		}
-		Point locationWindow=gui.getLocation();
+		Point locationWindow = gui.getLocation();
 
 		gui.stopThread();
 		gui.dispose();
@@ -204,20 +203,20 @@ public class Simulator implements Runnable, ActionListener {
 		SimTypeString s2 = new SimTypeString(d1);
 		CodeAdd s5 = new CodeAdd(d1, d5);
 
-		//testLoop.add(new CodeDigitalWrite(d2, b0));
-		//testLoop.add(new CodeDelay(delay));
-		//testLoop.add(new CodeDigitalWrite(d2, b1));
-		//testLoop.add(new CodeDelay(delay));
+		// testLoop.add(new CodeDigitalWrite(d2, b0));
+		// testLoop.add(new CodeDelay(delay));
+		// testLoop.add(new CodeDigitalWrite(d2, b1));
+		// testLoop.add(new CodeDelay(delay));
 		Vector<SimCode> forVec = new Vector<SimCode>();
 		forVec.add(new CodeDigitalWrite(d3, b1));
 		forVec.add(new CodeDelay(delay));
 		forVec.add(new CodeDigitalWrite(d3, b0));
 		forVec.add(new CodeDelay(delay));
 
-		//testLoop.add(new CodeFor(d1, forVec));
-		//testLoop.add(new CodeSerialPrint(new SimTypeString(new CodeMillis()), b1));
-		testLoop.add(new CodeSerialPrint(new SimTypeString(new CodeAnalogRead(d5)),b1));
-		testLoop.add(new CodeAnalogWrite(d9,new SimTypeInt(new CodeAnalogRead(d5))));
+		// testLoop.add(new CodeFor(d1, forVec));
+		// testLoop.add(new CodeSerialPrint(new SimTypeString(new CodeMillis()), b1));
+		testLoop.add(new CodeSerialPrint(new SimTypeString(new CodeAnalogRead(d5)), b1));
+		testLoop.add(new CodeAnalogWrite(d9, new SimTypeInt(new CodeAnalogRead(d5))));
 		testLoop.add(new CodeDelay(delay));
 
 		SimCodeFunction setupCode = new SimCodeFunction("setup", testSetup);
diff --git a/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java b/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java
index e9939a2eaea3c150eff8b6006850883918c614c9..23d4564b9744dfcfb5fab69016bd9c4883ffd852 100644
--- a/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java
+++ b/src/tec/letsgoing/ardublock/simulator/arduino/Arduino.java
@@ -11,7 +11,9 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 import tec.letsgoing.ardublock.simulator.view.GUI;
 
 /**
- * Diese Klasse hält die Daten eines "virtuellen" Arduinos und verwaltet die Hardware
+ * Diese Klasse hält die Daten eines "virtuellen" Arduinos und verwaltet die
+ * Hardware
+ * 
  * @author Lucas
  * 
  *
@@ -40,7 +42,7 @@ public class Arduino {
 
 	public boolean setVariable(String _name, SimCode _value) {
 		for (Variable var : vars) {
-			if (var.getName() == _name) {
+			if (var.getName().equals(_name)) {
 				var.setValue(_value);
 				return true;
 			}
@@ -52,7 +54,7 @@ public class Arduino {
 	public SimCode readVariable(String _name) {
 
 		for (Variable var : vars) {
-			if (var.getName() == _name) {
+			if (var.getName().equals(_name)) {
 				return var.getValue();
 
 			}
@@ -115,14 +117,14 @@ public class Arduino {
 		}
 		return true;
 	}
-	
+
 	public void resetFunctions() {
 		functions.clear();
 	}
 
 	public void serialPrint(String content) {
 		if (!stopFlag) {
-		gui.serialPrint(content);
+			gui.serialPrint(content);
 		}
 	}
 
@@ -157,7 +159,7 @@ public class Arduino {
 	}
 
 	public void errorAbort(String error) {
-		this.serialPrint("Fehler im Programm: " + error + " - Programm wird beendet");
+		this.serialPrint("Fehler im Programm: " + error + " - Programm wird beendet\n");
 		this.setStop(true);
 		this.getPin(20).setValue(0);
 	}
diff --git a/src/tec/letsgoing/ardublock/simulator/arduino/Pin.java b/src/tec/letsgoing/ardublock/simulator/arduino/Pin.java
index c24d32a23eb568c49d5d83dc8cd0d2095375dbc8..c27174e69cd8942641336ce6cb700d4827b7807c 100644
--- a/src/tec/letsgoing/ardublock/simulator/arduino/Pin.java
+++ b/src/tec/letsgoing/ardublock/simulator/arduino/Pin.java
@@ -8,13 +8,14 @@ import java.util.Observer;
 
 /**
  * Diese Klasse ist für einen Pin auf dem Arduino
+ * 
  * @author Lucas
  * 
  * 
  *
  */
 public class Pin extends Observable {
-	//FIXME Java 8 oder 11?
+	// FIXME Java 8 oder 11?
 	private int value = 0;
 	private boolean mode = false; // false == Input, true==Output
 
diff --git a/src/tec/letsgoing/ardublock/simulator/arduino/Variable.java b/src/tec/letsgoing/ardublock/simulator/arduino/Variable.java
index 22fdba87f6c770dc7152b586fde7629af8da3c4f..ed7de1732a8fd7c122a146c2b591e5ef32ee94ce 100644
--- a/src/tec/letsgoing/ardublock/simulator/arduino/Variable.java
+++ b/src/tec/letsgoing/ardublock/simulator/arduino/Variable.java
@@ -6,7 +6,9 @@ package tec.letsgoing.ardublock.simulator.arduino;
 import tec.letsgoing.ardublock.simulator.simcode.SimCode;
 
 /**
- * Diese Klasse speichert eine Variable und stellt diese über Operationen zur Verfügung
+ * Diese Klasse speichert eine Variable und stellt diese über Operationen zur
+ * Verfügung
+ * 
  * @author Lucas
  * 
  * 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java b/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java
index f607486a50046699419a9bb81c236b7094f794f3..556a2c1f471a31d87895bd1ae35cc768c67adb14 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/SimCode.java
@@ -8,8 +8,9 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  *
- *  Jedes Codeelement erbt von dieser dieser Klasse.
- * Durch die run()-Methode kann jedes Code-Objekt ausgeführt werden.
+ * Jedes Codeelement erbt von dieser dieser Klasse. Durch die run()-Methode kann
+ * jedes Code-Objekt ausgeführt werden.
+ * 
  * @author Lucas
  * 
  *
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java
index 32c821df7f45b97b46bbfc90710bd1281481efcf..0c0ba28845a3cdbf5bb8674c93c39300c43b9424 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Verbinde einen beliebigen Block mit einer Zeichenkette
+ * 
  * @author Lucas
  * 
  * 
@@ -27,7 +28,7 @@ public class CodeConnectString extends SimCode {
 	@Override
 	public SimTypeString run(Arduino _arduino, SimCodeFunction functionHead) {
 
-		out = "" + block1.run(_arduino, functionHead) + block2.run(_arduino, functionHead);
+		out = "" + block1.run(_arduino, functionHead).toString() + block2.run(_arduino, functionHead).toString();
 		return new SimTypeString(out);
 	}
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeSerialPrint.java b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeSerialPrint.java
index 2e43fff8c8443716f016153952516989e4f9140d..df1cc91ce29cf47cfac088aed48287e8c75c9e23 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeSerialPrint.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeSerialPrint.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Sende Nachricht via Serial
+ * 
  * @author Lucas
  * 
  *
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeDelay.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeDelay.java
index f62e7d7671128451c03f057da84db1ea827e3202..c9956a411f0555d36a135cfe8a12675021230125 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeDelay.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeDelay.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Warte Millisekunden.
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java
index f506535ab8ed64ab2cd576606caaa65ec4ad6cd4..5fa421263b32c09ca4edf648db187376a3eb2aab 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElse.java
@@ -11,7 +11,9 @@ import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeIf;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
- * Führe Befehle aus, falls "falls"-Block FALSCH (und evtl. "sonst falls"-Block) sind.
+ * Führe Befehle aus, falls "falls"-Block FALSCH (und evtl. "sonst falls"-Block)
+ * sind.
+ * 
  * @author Lucas
  * 
  */
@@ -37,5 +39,4 @@ public class CodeElse extends SimTypeIf {
 		return null;
 	}
 
-
 }
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java
index e342fc22243d5625e366886b76c84eb82a5945d2..dd6fef6dc4aea21a7d146bc80662c3c71a37a1c9 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeElseIf.java
@@ -13,6 +13,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Führe die Befehle aus wenn falls-Block FALSCH ist und Bedingung WAHR ist.
+ * 
  * @author Lucas
  * 
  */
@@ -21,7 +22,7 @@ public class CodeElseIf extends SimTypeIf {
 	private SimTypeBool condition;
 	private Vector<SimCode> codeBlocks;
 
-	public CodeElseIf(SimTypeIf _follow,SimTypeBool _condition, Vector<SimCode> _vec) {
+	public CodeElseIf(SimTypeIf _follow, SimTypeBool _condition, Vector<SimCode> _vec) {
 		follow = _follow;
 		condition = _condition;
 		codeBlocks = _vec;
@@ -42,7 +43,6 @@ public class CodeElseIf extends SimTypeIf {
 		}
 	}
 
-
 	@Override
 	public String toString() {
 		return null;
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeFor.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeFor.java
index 6b3ffdcd3c6c0839150ce48a85549d3c0a8f6125..3ed8ae1cd4cf23d718c77594e9cca642bfc61768 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeFor.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeFor.java
@@ -13,6 +13,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 /**
  * 
  * Wiederhole die Befehle x-mal.
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
index 2c5588fd28fb97a3743e5ff1df3025af96e866f5..86854d3e23dc9935b235fb6ecba10da231692979 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeForCount.java
@@ -12,7 +12,9 @@ import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeString;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
- * Wiederhole die Befehle x-mal. Die Wiederholungen werden in der Variable gespeichert.
+ * Wiederhole die Befehle x-mal. Die Wiederholungen werden in der Variable
+ * gespeichert.
+ * 
  * @author Lucas
  * 
  */
@@ -29,6 +31,7 @@ public class CodeForCount extends SimCode {
 
 	@Override
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
+		// TODO delete Var after completion
 		functionHead.createVariable(varname.toString(), new SimTypeInt(0));
 		for (int i = 0; i < count.run(_arduino, functionHead).getValue(); i++) {
 			functionHead.setVariable(varname.toString(), new SimTypeInt(i));
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java
index 1013aca58657d6a1bfc4273f93bdfd76b86f2eeb..0f8df71be1bfd1143034e84344b1252f4546dcb4 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeIf.java
@@ -13,6 +13,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Führe Befehle aus, wenn die Bedingung WAHR ist.
+ * 
  * @author Lucas
  *
  * 
@@ -22,7 +23,7 @@ public class CodeIf extends SimTypeIf {
 	private SimTypeBool condition;
 	private Vector<SimCode> codeBlocks;
 
-	public CodeIf(SimTypeIf _follow,SimTypeBool _condition, Vector<SimCode> _vec) {
+	public CodeIf(SimTypeIf _follow, SimTypeBool _condition, Vector<SimCode> _vec) {
 		condition = _condition;
 		codeBlocks = _vec;
 		follow = _follow;
@@ -38,13 +39,14 @@ public class CodeIf extends SimTypeIf {
 			}
 			return null;// True Case
 		} else {
-			follow.run(_arduino, functionHead);
+			if (follow != null) {
+				follow.run(_arduino, functionHead);
+			}
 			return null; // False Case
 		}
 
 	}
 
-
 	public String toString() {
 		return null;
 	}
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhile.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhile.java
index db69ab1742fe27153a6fd1e5d9c5053315713157..a08883eea09635ffcdaf3d065dcd928d39ea4a97 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhile.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhile.java
@@ -12,6 +12,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Führe Befehle aus, solange die Bedingung WAHR ist.
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java
index 4347dba488e4dc332898f01ca35d3f9dd7f16a35..06e82d9d4a5a9afa1713a9061c754023e7a07b69 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/control/CodeWhileMillis.java
@@ -12,7 +12,9 @@ import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeString;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
- * Befehle ausserhalb von mache werden nur alle x-Millisekunden ausgeführt\nDie Startzeit jedes Durchgangs wird in der Variable gespeichert
+ * Befehle ausserhalb von mache werden nur alle x-Millisekunden ausgeführt\nDie
+ * Startzeit jedes Durchgangs wird in der Variable gespeichert
+ * 
  * @author Lucas
  * 
  */
@@ -29,10 +31,12 @@ public class CodeWhileMillis extends SimCode {
 
 	@Override
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
+		// TODO Docu: Vergleich der Zeiten bis zum Überlauf zwischen C und Java
 		functionHead.createVariable(varname.toString(), new SimTypeInt(_arduino.getMillis()));
 		int startTime = _arduino.getMillis();
 		int dura = duration.run(_arduino, functionHead).getValue();
-		while (startTime + dura < _arduino.getMillis()) {
+		while (startTime + dura > _arduino.getMillis()) {
+
 			for (SimCode block : blocks) {
 				block.run(_arduino, functionHead);
 			}
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeBool.java b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeBool.java
index 060a6a4f31c04929ab4db7f38e10d98759a319f8..ea4d2958f3c256b20d677497154ea1f44e758f1c 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeBool.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeBool.java
@@ -9,6 +9,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Klasse für einen BooldatenTyp
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeIf.java b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeIf.java
index 21612c26cc339e6c74ec0c2345e7d6ac82b2d0fd..3ab3d4866795ec1bdd78acdbec60510510e04b54 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeIf.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeIf.java
@@ -9,6 +9,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Unterklasse für die If-Codeblöcke
+ * 
  * @author Lucas
  * 
  * 
@@ -21,6 +22,5 @@ public abstract class SimTypeIf extends SimCode {
 
 	@Override
 	public abstract String toString();
-	
 
 }
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeInt.java b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeInt.java
index a30a6ab228332af8e569f647b408cd2b07d87875..1c91f6325e1c4b840eb9634c69d272595a950084 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeInt.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeInt.java
@@ -9,8 +9,9 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Klasse für einen Int-Datentyp
+ * 
  * @author Lucas
- *	
+ * 
  */
 public class SimTypeInt extends SimCode {
 	private int value = 0;
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeString.java b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeString.java
index d9e94a10b63adb24cecab69087ce330c3c29333d..39fac7acb5dd89f6c40edb1edbb545ff7eb8e811 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeString.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/datatypes/SimTypeString.java
@@ -9,6 +9,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Klasse für einen Zeichenketten Datentyp
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/functions/CodeExecuteFunction.java b/src/tec/letsgoing/ardublock/simulator/simcode/functions/CodeExecuteFunction.java
index 0cca8f745ec5b5829a56950c092ea945ae7e85fa..a0f876f8c871be8b9da88762a401e62b2e5e9aaa 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/functions/CodeExecuteFunction.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/functions/CodeExecuteFunction.java
@@ -8,6 +8,7 @@ import tec.letsgoing.ardublock.simulator.simcode.SimCode;
 
 /**
  * Führt das Unterprogramm mit dem Namen aus.
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java b/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java
index dbca6faef45af6e1eeb036d092f3a67c7b989f60..986b5cd7b93d7db7558be64f1ea5032eaf51cdb2 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java
@@ -11,10 +11,15 @@ import tec.letsgoing.ardublock.simulator.simcode.SimCode;
 
 /**
  * Erstellt ein Unterprogramm.
- * @author Lucas
  * 
+ * @author Lucas
+ *
  */
 public class SimCodeFunction extends SimCode {
+	// FIXME Jede Variable ist "lokal" = dem nächst höheren Funktionsaufruf
+	// zugeordnet, während Ardublock global ist.
+	// FIXME Auch machen IF und While keine neuen Stacks auf sondern schieben Ihre
+	// Variabeln auch in den "Loop" Block
 	private String name;
 	private Vector<SimCode> codeBlocks = new Vector<SimCode>();
 	private Vector<Variable> vars = new Vector<Variable>();
@@ -29,9 +34,8 @@ public class SimCodeFunction extends SimCode {
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
 		if (functionHead == null) {
 			isMain = true;
-			this.arduino = _arduino;
 		}
-
+		this.arduino = _arduino;
 		vars = new Vector<Variable>();
 		for (SimCode code : codeBlocks) {
 			code.run(_arduino, this);
@@ -54,7 +58,7 @@ public class SimCodeFunction extends SimCode {
 
 	public boolean setVariable(String _name, SimCode _value) {
 		for (Variable var : vars) {
-			if (var.getName() == _name) {
+			if (var.getName().equals(_name)) {
 				var.setValue(_value);
 				return true;
 			}
@@ -68,7 +72,7 @@ public class SimCodeFunction extends SimCode {
 	public SimCode readVariable(String _name) {
 
 		for (Variable var : vars) {
-			if (var.getName() == _name) {
+			if (var.getName().equals(_name)) {
 				return var.getValue();
 			}
 		}
@@ -78,7 +82,6 @@ public class SimCodeFunction extends SimCode {
 
 	@Override
 	public String toString() {
-		// TODO Auto-generated method stub
 		return null;
 	}
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogRead.java b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogRead.java
index 1ccd9183397d0cecab01d2d9dcfae5af8b4eb570..27ba239f80cdedca4c96774db214a4ce07efb3ce 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogRead.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogRead.java
@@ -10,7 +10,8 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Liest den analogen Wert vom Pin [0V=0;5V=1023]
- * @author Lucas 
+ * 
+ * @author Lucas
  * 
  */
 public class CodeAnalogRead extends SimCode {
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogWrite.java b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogWrite.java
index f7cf70118e9f6c908f65accff08d437a77e3ac90..974f531c67b5c5e6b5d1632a0aedc18311f935cc 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogWrite.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeAnalogWrite.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * PWM-Ausgang Wert[0-255] zuweisen
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalRead.java b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalRead.java
index bbe6a2349fca4f1cfe321159f25d3e03a8656aa8..9d291e000fde9f55515c06f348ccba141b1f3369 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalRead.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalRead.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Liest den digitalen Wert des Pins ein [HIGH/LOW]
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalWrite.java b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalWrite.java
index e1aa849402a92662ed8037d0f804fe1cc62ddea1..989930cef0140b030b6ebcc70173496b33ef9669 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalWrite.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/io/CodeDigitalWrite.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Ausgang eines digitalen Ausgangs festlegen (HIGH/LOW)
+ * 
  * @author Lucas
  * 
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeAND.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeAND.java
index 6a1bff7fd7d88632441c681cd42d9713f989e3da..9af25c836a0441289bf4b897c1aff93ed79d802a 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeAND.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeAND.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn beide Bedingungen erfüllt sind.
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolEqual.java
index 1e8c8d4bb874b906e1c9743e16d5031202c0a27d..a315e413fae160a1ea260641e757372fd507c2f0 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolEqual.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolEqual.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn die beiden Bool-Werte identisch sind.
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolUnequal.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolUnequal.java
index 6760fc5d745401407eb388c0ab2f36196ece9903..13348356f1cddda4aba8671eedf9622118ea82ce 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolUnequal.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeBoolUnequal.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn die beiden Bool-Werte ungleich sind
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBigger.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBigger.java
index f9153e226846c51b7d7e24101d6c290e82ab71a5..76df1b61c62907029b9f5aff0e4eb1acc17a73b5 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBigger.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBigger.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn der Erste Wert größer als der Zweite ist
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBiggerEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBiggerEqual.java
index 29a45f1ee175249c50cce07f739883e8706f28af..fcaf93e3c0a59ce946209d23d614b3d1e4f05c88 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBiggerEqual.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntBiggerEqual.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn der Erste Wert größer oder gleich wie der Zweite ist
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntEqual.java
index 4ff5332c0f9f9c4cd4a641752b40aeb1da87c3dd..fde07fd1b1c0bb14fc9b42f4dc769e09670a18c7 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntEqual.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntEqual.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn beide Int Werte gleich sind.
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmaller.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmaller.java
index 548a91f551af43d9d9842f61b1c4f502b893b8bb..3ed785105eca05632074d59b9d2da04f3b11d32c 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmaller.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmaller.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn der Erste Wert kleiner als der Zweite ist
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmallerEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmallerEqual.java
index 8ace12a5c9c2259d792a91798997ace38b9fbdeb..802586476c24af9ca567d193ae47835b39ea0805 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmallerEqual.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntSmallerEqual.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn der erste Wert kleiner oder gleich dem Zweiten ist.
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntUnequal.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntUnequal.java
index e7e46d0824799410ee17f50c3b66fb7504792f2a..c9ce10ccebac1f1ed513dd3a9036bfd95aecac4d 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntUnequal.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeIntUnequal.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn die beiden Int-Werte ungleich sind.
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java
index da4156aae4fb295ee2b691bc7424b78a168e0cee..595f94cbea5b25aaae7f0d07ddbcc4ac7c443b64 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeNOT.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn der Wert FALSCH ist.
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeOR.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeOR.java
index 80da717232fa0dfde3df0dba55ab551444a716cd..68d856885aad50bb4582944b017e501c269fbfd9 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeOR.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeOR.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn einer der beiden Werte WAHR ist
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java
index 3099e1ce46510d6f356907b7693e1f3350ff9f37..19abe190b0616d4bb8f7ba06b3e09441375ecf2f 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringEqual.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn beide Zeichenketten den identischen Inhalt besitzen
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java
index 971be78a538c7694917b4b4c93314e898705fcb9..877dc95107f478fc42731dd6ef9384063c7851e0 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/logic/CodeStringUnequal.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * WAHR wenn beide Zeichenketten nicht identisch sind.
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAbs.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAbs.java
index b5885d0642dcf63dc491b6169488ba18c9854015..3ebb920e81f0a0e221df04936ae88453412e3d48 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAbs.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAbs.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Der Betrag einer Zahl
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAdd.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAdd.java
index 51a529b02ad80ef6bf35139238a805c508ad3c0c..42eb37c6f81865aaafae4b459166773966b546bb 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAdd.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeAdd.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Die Addition zweier Zahlen
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeDivison.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeDivison.java
index 9464ef4b633da5d0bfdc8cafffda15be74bacf26..6d097330921b766cae6995d0902dfa137b2f02f3 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeDivison.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeDivison.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Die Division zweier Zahlen
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeLimit.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeLimit.java
index 73ba9e293a5aff8fb4f715353499cd1e60df3629..9ab9220c6267b1c23aa0a581081730d19852eb6e 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeLimit.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeLimit.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Limitiere einen analogen Wert
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java
index 7318ace8b8581d58ac213e6d8ed7302fe4b130ad..4753285f2c16298dab89283ea51eabbc9c2d2b7c 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Ordne einen Wert aus dem Bereich "von" auf den Bereich "zu"
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap10to8.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap10to8.java
index df281eafac39244c08dac23493777b48774369a5..be723a4f2c6924371f7ed36b7d7d1b45d4f92946 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap10to8.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMap10to8.java
@@ -9,7 +9,9 @@ import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeInt;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
- * Ordne Werte aus dem Bereich [0,1023] auf den Bereich von [0,255] zu. (10 Bit zu 8 Bit)
+ * Ordne Werte aus dem Bereich [0,1023] auf den Bereich von [0,255] zu. (10 Bit
+ * zu 8 Bit)
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMax.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMax.java
index 1520ce0e52d5041907a1c785f4da08651153e29f..66e257de58e5870348ae05e6673b59716698c6e9 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMax.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMax.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Die Größere Zahl der beiden Eingaben
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMin.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMin.java
index cf7194296933825fe1381ef019af619fd0ad9407..5a62b0b87b6f1537e174c3f7985811f57a2de038 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMin.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMin.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Die kleinere Zahl der beiden Eingaben
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMinus.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMinus.java
index 45c7f081806c468b0f812b9ab0d65a88962fa451..3e75427040de4952265a932793c917a19d8e5ba1 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMinus.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeMinus.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Die Differenz der beiden Zahlen
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeModulo.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeModulo.java
index 0a303a7dd54374c074eedba036c85b64883db5b8..458f6ae23e3796aa421ead06389ae98c1626dedb 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeModulo.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeModulo.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Die Modulooperation von zwei Zahlen
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeProduct.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeProduct.java
index 9bec6759032c32954751a6313b83859edb1ee626..b3645135faa939a6106c5f5714f2088da98d3b05 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeProduct.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeProduct.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Das Produkt aus 2 Zahlen
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMax.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMax.java
index 8c342b9e5a932d249cf1c6d23032d53e0fb1d0b1..592ca7000c079655a09b32e661ce707812e1e4dc 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMax.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMax.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Erzeuge eine Zufallszahl zwischen 0 und max-1
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMinMax.java b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMinMax.java
index 8521609a15d3695f66b2ebd61a91a0501023dafa..9603fae6f9391615b8cb35e4c8ab50c0efa95f47 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMinMax.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/math/CodeRandMinMax.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Erzeuge eine Zufallszahl zwische min und max
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolCreate.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolCreate.java
index 395399f3ddc8c5327f5021d4d23d9dfb86800006..be35918ca97934a65a7e6f7091d630d478942213 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolCreate.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolCreate.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Erzeuge eine boolsche Variable
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java
index 95f0cec071f9239747e3f730631e4b338fd1fa48..82918ba600103d04a9fafb60500cbc5798fad98a 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolGet.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Lese eine boolsche Varibale
+ * 
  * @author Lucas
  *
  */
@@ -23,7 +24,7 @@ public class CodeBoolGet extends SimCode {
 
 	@Override
 	public SimTypeBool run(Arduino _arduino, SimCodeFunction functionHead) {
-		return new SimTypeBool(functionHead.readVariable(var.run(_arduino, functionHead).toString()));
+		return (SimTypeBool) functionHead.readVariable(var.run(_arduino, functionHead).toString());
 	}
 
 	@Override
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolSet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolSet.java
index 164e3afbf2a3854f3bb20d89bedafc769959cb4e..af5adf083841b2ea1611c49d81b2162ce6a92f0b 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolSet.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeBoolSet.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Setze eine boolsche Variable
+ * 
  * @author Lucas
  *
  */
@@ -25,8 +26,11 @@ public class CodeBoolSet extends SimCode {
 
 	@Override
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
-		functionHead.setVariable(var.run(_arduino, functionHead).toString(),
-				new SimTypeBool(value.run(_arduino, functionHead).getValue()));
+		// Wenn die Variable nicht vorhanden ist, so erzeuge Sie.
+		if (!functionHead.setVariable(var.run(_arduino, functionHead).toString(),
+				new SimTypeBool(value.run(_arduino, functionHead).getValue()))) {
+			functionHead.createVariable(var.run(_arduino, functionHead).toString(), value.run(_arduino, functionHead));
+		}
 		return null;
 	}
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java
index 33a9a54103cd46ddd28c740a4d5fdb89d59efbaf..d916ec78b9943093fe4da553a2bcb0f002c2a4b5 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntCreate.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Erzeuge eine analoge/Integer Variable
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java
index 3e8755ee378e030d81b9540bdd1b48c9d9308ee2..535790465dda48f5425333dc609fcafcc8b0aac3 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntGet.java
@@ -11,6 +11,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Lese eine analoge/Integer Variable
+ * 
  * @author Lucas
  *
  */
@@ -23,7 +24,7 @@ public class CodeIntGet extends SimCode {
 
 	@Override
 	public SimTypeInt run(Arduino _arduino, SimCodeFunction functionHead) {
-		return new SimTypeInt(functionHead.readVariable(var.run(_arduino, functionHead).toString()));
+		return (SimTypeInt) functionHead.readVariable(var.run(_arduino, functionHead).toString());
 	}
 
 	@Override
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java
index 49dca07272e7e1ca0416b3552dedd50d1793ab19..a6e01e8eb1861b694bfc5cc875395920b5fe2be7 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeIntSet.java
@@ -5,12 +5,14 @@ package tec.letsgoing.ardublock.simulator.simcode.vars;
 
 import tec.letsgoing.ardublock.simulator.arduino.Arduino;
 import tec.letsgoing.ardublock.simulator.simcode.SimCode;
+import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeBool;
 import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeInt;
 import tec.letsgoing.ardublock.simulator.simcode.datatypes.SimTypeString;
 import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Setze eine analoge/Integer Variable
+ * 
  * @author Lucas
  *
  */
@@ -25,8 +27,10 @@ public class CodeIntSet extends SimCode {
 
 	@Override
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
-		functionHead.setVariable(var.run(_arduino, functionHead).toString(),
-				new SimTypeInt(value.run(_arduino, functionHead).getValue()));
+		if (!functionHead.setVariable(var.run(_arduino, functionHead).toString(),
+				new SimTypeInt(value.run(_arduino, functionHead).getValue()))) {
+			functionHead.createVariable(var.run(_arduino, functionHead).toString(), value.run(_arduino, functionHead));
+		}
 		return null;
 	}
 
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java
index f23e410785fb9dc65b803f7f146f281e32a81c5a..e59f63368a139bc8fda7ed95436ec2645ae216b0 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/vars/CodeMillis.java
@@ -10,6 +10,7 @@ import tec.letsgoing.ardublock.simulator.simcode.functions.SimCodeFunction;
 
 /**
  * Gibt die Zeit seit Programmstart in Millisekunden an
+ * 
  * @author Lucas
  *
  */
diff --git a/src/tec/letsgoing/ardublock/simulator/view/GUI.java b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
index e282cabf87eeb53ece95ec0bf8cfe0cd664dc2d0..bc868c3e5140721f13a599ff3f920ae2c3ef965b 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/GUI.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
@@ -39,6 +39,7 @@ import tec.letsgoing.ardublock.simulator.view.modules.RGB;
 
 /**
  * Verwaltet die graphische Oberfläche.
+ * 
  * @author Lucas
  *
  */
@@ -52,29 +53,33 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 	public GUI(Simulator simu) {
 		super("ArdubBlock Simulator");
 		modules[0] = new RGB(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM31_RGB_LED.png"))));
-		modules[1] = new Button(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM26_Taster.png"))),new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Taster_Off.png"))),new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Taster_On.png"))));
-		modules[2] = new Poti(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM24_Potentiometer.png"))));
-		modules[3] = new ArduinoUno(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/ArduinoUno.png"))),simu);
-		
+		modules[1] = new Button(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM26_Taster.png"))),
+				new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Taster_Off.png"))),
+				new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Taster_On.png"))));
+		modules[2] = new Poti(
+				new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/PM24_Potentiometer.png"))));
+		modules[3] = new ArduinoUno(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/ArduinoUno.png"))),
+				simu);
+
 		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 		this.setResizable(false);
 		Container mainPane = this.getContentPane();
 
 		JPanel modulPanel = new JPanel(new BorderLayout()) {
-			@Override 
+			@Override
 			public void paint(Graphics g) {
-				
+
 				super.paint(g);
-				
-				for (int i =-1 ; i<2;i++) {
+
+				for (int i = -1; i < 2; i++) {
 					g.setColor(Color.BLACK);
-					g.fillRect(i*294+261, 183, 60, 5);
+					g.fillRect(i * 294 + 261, 183, 60, 5);
 					g.setColor(Color.RED);
-					g.fillRect(i*294+261, 211, 60, 5);
-					
+					g.fillRect(i * 294 + 261, 211, 60, 5);
+
 				}
 				drawConnections(g);
-				
+
 			}
 		};
 		modulPanel.add(modules[0].getPane(), BorderLayout.WEST);
@@ -86,8 +91,8 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 		mainPane.add(createControlPanel(simu), BorderLayout.LINE_END);
 		mainPane.add(createSerialLog(), BorderLayout.PAGE_END);
 		this.pack();
-		
-		//this.setLocation(-1300, 0); //FIXME Code to Run the Window on second screen
+
+		// this.setLocation(-1300, 0); //FIXME Code to Run the Window on second screen
 		this.setVisible(true);
 
 	}
@@ -101,13 +106,11 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 		JButton reloadButton = new JButton();
 		JButton measButton = new JButton();
 
-
 		goButton.setIcon(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Play.png"))));
 		stopButton.setIcon(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Stop.png"))));
 		reloadButton.setIcon(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Reload.png"))));
 		measButton.setIcon(new ImageIcon(getToolkit().getImage(GUI.class.getResource("/img/Measure.png"))));
 
-
 		goButton.addActionListener(simu);
 		stopButton.addActionListener(simu);
 		reloadButton.addActionListener(simu);
@@ -151,28 +154,40 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 		panel.add(scrollPane, BorderLayout.PAGE_END);
 		return panel;
 	}
-	
+
 	private void drawConnections(Graphics g) {
-		int[] assignment= {11,10,9,5,4,3,19};
+		int[] assignment = { 11, 10, 9, 5, 4, 3, 19 };
 		g.setColor(Color.ORANGE);
-		Vector<Point> pinArduino=modules[3].getPinPos();
-		Point posArduino=modules[3].getPosition();
-		int counter=0;
-		Stroke roundLine=new BasicStroke(5,BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
-		for (int i=0;i<3;i++) {
-			Vector<Point> pos =modules[i].getPinPos();
-			for (Point p:pos) {
+		Vector<Point> pinArduino = modules[3].getPinPos();
+		Point posArduino = modules[3].getPosition();
+		int counter = 0;
+		Stroke roundLine = new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
+		for (int i = 0; i < 3; i++) {
+			Vector<Point> pos = modules[i].getPinPos();
+			for (Point p : pos) {
 				Graphics2D g2 = (Graphics2D) g;
-                g2.setStroke(roundLine);
-                if (counter>5) {
-                	g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y, p.x+modules[i].getPosition().x, pinArduino.get(assignment[counter]).y+posArduino.y);
-                	g2.drawLine(p.x+modules[i].getPosition().x, pinArduino.get(assignment[counter]).y+posArduino.y, pinArduino.get(assignment[counter]).x+posArduino.x, pinArduino.get(assignment[counter]).y+posArduino.y);
-                } else {
-                g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y, p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y+90-(counter)*10);
-                g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y+90-(counter)*10, pinArduino.get(assignment[counter]).x+posArduino.x, p.y+modules[i].getPosition().y+90-(counter)*10);
-				g2.drawLine(pinArduino.get(assignment[counter]).x+posArduino.x, p.y+modules[i].getPosition().y+90-(counter)*10, pinArduino.get(assignment[counter]).x+posArduino.x, pinArduino.get(assignment[counter]).y+posArduino.y);
-                //g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y, pinArduino.get(assignment[counter]).x+posArduino.x, pinArduino.get(assignment[counter]).y+posArduino.y);
-                }
+				g2.setStroke(roundLine);
+				if (counter > 5) {
+					g2.drawLine(p.x + modules[i].getPosition().x, p.y + modules[i].getPosition().y,
+							p.x + modules[i].getPosition().x, pinArduino.get(assignment[counter]).y + posArduino.y);
+					g2.drawLine(p.x + modules[i].getPosition().x, pinArduino.get(assignment[counter]).y + posArduino.y,
+							pinArduino.get(assignment[counter]).x + posArduino.x,
+							pinArduino.get(assignment[counter]).y + posArduino.y);
+				} else {
+					g2.drawLine(p.x + modules[i].getPosition().x, p.y + modules[i].getPosition().y,
+							p.x + modules[i].getPosition().x, p.y + modules[i].getPosition().y + 90 - (counter) * 10);
+					g2.drawLine(p.x + modules[i].getPosition().x,
+							p.y + modules[i].getPosition().y + 90 - (counter) * 10,
+							pinArduino.get(assignment[counter]).x + posArduino.x,
+							p.y + modules[i].getPosition().y + 90 - (counter) * 10);
+					g2.drawLine(pinArduino.get(assignment[counter]).x + posArduino.x,
+							p.y + modules[i].getPosition().y + 90 - (counter) * 10,
+							pinArduino.get(assignment[counter]).x + posArduino.x,
+							pinArduino.get(assignment[counter]).y + posArduino.y);
+					// g2.drawLine(p.x+modules[i].getPosition().x, p.y+modules[i].getPosition().y,
+					// pinArduino.get(assignment[counter]).x+posArduino.x,
+					// pinArduino.get(assignment[counter]).y+posArduino.y);
+				}
 				counter++;
 			}
 		}
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java b/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java
index 08fc2be2a571522e16d2363c4c00d21352d35e7d..133c335c0471e47cd96a0c17e1b0834cb86e7696 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/ArduinoUno.java
@@ -25,6 +25,7 @@ import tec.letsgoing.ardublock.simulator.view.GUI;
 
 /**
  * Modul für einen Arduino Uno
+ * 
  * @author Lucas
  *
  */
@@ -33,10 +34,10 @@ public class ArduinoUno extends Modul {
 	private boolean ledOn;
 	private int led13 = 0;
 
-	public ArduinoUno(ImageIcon _icon,Simulator simu) {
-		int locx=50;
-		int locy=50;
-		layerpane.setPreferredSize(new Dimension(587+locx, 418+locy));//587,418
+	public ArduinoUno(ImageIcon _icon, Simulator simu) {
+		int locx = 50;
+		int locy = 50;
+		layerpane.setPreferredSize(new Dimension(587 + locx, 418 + locy));// 587,418
 		JLabel chiplabel = new JLabel();
 		ImageIcon chipIcon = _icon;
 		chipIcon = new ImageIcon(chipIcon.getImage().getScaledInstance(587, 418, Image.SCALE_SMOOTH));
@@ -58,7 +59,7 @@ public class ArduinoUno extends Modul {
 
 		};
 
-		labelPower.setLocation(504+locx, 126+locy);
+		labelPower.setLocation(504 + locx, 126 + locy);
 		labelPower.setSize(20, 20);
 		layerpane.add(labelPower, 0);
 
@@ -72,10 +73,10 @@ public class ArduinoUno extends Modul {
 
 		};
 
-		label13.setLocation(257+locx, 89+locy);
+		label13.setLocation(257 + locx, 89 + locy);
 		label13.setSize(20, 20);
 		layerpane.add(label13, 0);
-		
+
 		JButton button = new JButton();
 		button.setSize(70, 70);
 		button.setActionCommand("reset");
@@ -83,14 +84,14 @@ public class ArduinoUno extends Modul {
 		button.setOpaque(false);
 		button.setContentAreaFilled(false);
 		button.setBorderPainted(false);
-		
+
 		JLabel labelButton = new JLabel();
 		labelButton.add(button);
 		labelButton.setSize(60, 51);
-		labelButton.setLocation(64+locx, 1+locy);
-		layerpane.add(labelButton,0);
-		
-		calculatePinPos(locx,locy);
+		labelButton.setLocation(64 + locx, 1 + locy);
+		layerpane.add(labelButton, 0);
+
+		calculatePinPos(locx, locy);
 
 	}
 
@@ -113,35 +114,31 @@ public class ArduinoUno extends Modul {
 		tmpPin.setObserver(this);
 		return true;
 	}
-	
-	private void calculatePinPos(int locx,int locy) {
-		Vector<Point> pins=new Vector<Point>();
-		int offset=0;
-		for (int i=15;i>1;i--) {
-			if (i<8)offset=-11;
-			pins.add(new Point(i*20+locx+246+offset,locy+19));
+
+	private void calculatePinPos(int locx, int locy) {
+		Vector<Point> pins = new Vector<Point>();
+		int offset = 0;
+		for (int i = 15; i > 1; i--) {
+			if (i < 8)
+				offset = -11;
+			pins.add(new Point(i * 20 + locx + 246 + offset, locy + 19));
 		}
-		for (int i=0;i<6;i++) {
-			pins.add(new Point(i*20+locx+447,locy+397));
+		for (int i = 0; i < 6; i++) {
+			pins.add(new Point(i * 20 + locx + 447, locy + 397));
 		}
-		//Code to check the Pin Pos
-		/*JLabel label;
-		for (Point pin:pins) {
-			label= new JLabel() {
-				@Override
-				public void paintComponent(Graphics g) {
-					g.setColor(Color.RED);
-					g.fillRect(0, 0, 10, 10);
-				}
-
-			};
-
-			label.setLocation(pin.x,pin.y);
-			label.setSize(10, 10);
-			layerpane.add(label, 0);
-		}*/
+		// Code to check the Pin Pos
+		/*
+		 * JLabel label; for (Point pin:pins) { label= new JLabel() {
+		 * 
+		 * @Override public void paintComponent(Graphics g) { g.setColor(Color.RED);
+		 * g.fillRect(0, 0, 10, 10); }
+		 * 
+		 * };
+		 * 
+		 * label.setLocation(pin.x,pin.y); label.setSize(10, 10); layerpane.add(label,
+		 * 0); }
+		 */
 		this.setPinPos(pins);
 	}
 
-
 }
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
index 4254988fe2808adb80d2a57d2249e9bfd41da93f..0c7c9c04959d108cd80d4eecb8d71f68491c686b 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
@@ -20,19 +20,20 @@ import tec.letsgoing.ardublock.simulator.arduino.Pin;
 
 /**
  * Modul mit 3 Toogle Buttons
+ * 
  * @author Lucas
  *
  */
 public class Button extends Modul implements ActionListener {
 	private int[] lastState = { 0, 0, 0 };
-	private ImageIcon iconOff,iconOn;
+	private ImageIcon iconOff, iconOn;
 
 	public Button(ImageIcon _icon, ImageIcon _icon1, ImageIcon _icon2) {
-		iconOff=_icon1;
-		iconOn=_icon2;
+		iconOff = _icon1;
+		iconOn = _icon2;
 		layerpane.setPreferredSize(new Dimension(294, 294));
 		JLabel chiplabel = new JLabel();
-		ImageIcon chipIcon =_icon;
+		ImageIcon chipIcon = _icon;
 		chiplabel.setIcon(chipIcon);
 		chiplabel.setSize(294, 294);
 		layerpane.add(chiplabel, 0);
@@ -108,18 +109,18 @@ public class Button extends Modul implements ActionListener {
 		} else {
 			((JToggleButton) arg0.getSource()).setIcon(iconOff);
 		}
-		
+
 		int value = 0;
 		if (bool)
 			value = 1023;
 		lastState[pin] = value;
 		pins.get(pin).setValue(value);
 	}
-	
+
 	private void calculatePinPos() {
-		Vector<Point> pins=new Vector<Point>();
-		for (int i=0;i<3;i++) {
-			pins.add(new Point(i*30+117,235));
+		Vector<Point> pins = new Vector<Point>();
+		for (int i = 0; i < 3; i++) {
+			pins.add(new Point(i * 30 + 117, 235));
 		}
 		this.setPinPos(pins);
 	}
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java
index 3522dc48ad8e9a85e0053c668b3ac279c78a12f4..524193949d38b12172fe7daf03bd432f3f0e4b08 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Modul.java
@@ -16,15 +16,16 @@ import tec.letsgoing.ardublock.simulator.arduino.Pin;
 
 /**
  * Oberklasse für alle Module
+ * 
  * @author Lucas
  *
  */
-public abstract class Modul implements Observer  {
+public abstract class Modul implements Observer {
 	private boolean active = true;
 	private Point position;
 	protected Vector<Pin> pins = new Vector<Pin>();
 	protected JLayeredPane layerpane = new JLayeredPane();
-	protected Vector<Point> pinPos=new Vector<Point>();
+	protected Vector<Point> pinPos = new Vector<Point>();
 
 	public void setState(boolean State) {
 		active = State;
@@ -39,7 +40,7 @@ public abstract class Modul implements Observer  {
 	}
 
 	public Point getPosition() {
-		//return position;
+		// return position;
 		return layerpane.getLocation();
 	}
 
@@ -50,7 +51,7 @@ public abstract class Modul implements Observer  {
 					updateModul((Pin) Observable);
 			}
 		}
-		
+
 	}
 
 	public abstract void updateModul(Pin pin);
@@ -58,13 +59,13 @@ public abstract class Modul implements Observer  {
 	public void addPin(Pin _pin) {
 		pins.add(_pin);
 	}
-	
+
 	public Vector<Point> getPinPos() {
 		return pinPos;
 	}
-	
+
 	public void setPinPos(Vector<Point> _pins) {
-		pinPos=_pins;
+		pinPos = _pins;
 	}
 
 	public JLayeredPane getPane() {
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
index 7c9076426a1dcdec0e42eec216ff2a857035a275..835651e84598fd7520957376651b351dccaedf19 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
@@ -24,10 +24,11 @@ import tec.letsgoing.ardublock.simulator.arduino.Pin;
 
 /**
  * Modul mit einem Potentiometer
+ * 
  * @author Lucas
  *
  */
-public class Poti extends Modul implements  ChangeListener, MouseWheelListener {
+public class Poti extends Modul implements ChangeListener, MouseWheelListener {
 	int value = 0;
 	JSlider slider;
 
@@ -37,74 +38,72 @@ public class Poti extends Modul implements  ChangeListener, MouseWheelListener {
 		ImageIcon chipIcon = _icon;
 		chiplabel.setIcon(chipIcon);
 		chiplabel.setSize(294, 294);
-		slider=new JSlider(JSlider.HORIZONTAL,0,1024,512);
-		
+		slider = new JSlider(JSlider.HORIZONTAL, 0, 1024, 512);
+
 		slider.setMajorTickSpacing(256);
 		slider.setMinorTickSpacing(64);
 		slider.setPaintTicks(true);
-		
-		//Create the label table
-		Hashtable<Integer,JLabel> labelTable = new Hashtable<Integer,JLabel>();
-		labelTable.put( new Integer( 10 ), new JLabel("0 V") );
-		labelTable.put( new Integer( 512 ), new JLabel("2.5 V") );
-		labelTable.put( new Integer( 1023 ), new JLabel("5 V") );
-		slider.setLabelTable( labelTable );
+
+		// Create the label table
+		Hashtable<Integer, JLabel> labelTable = new Hashtable<Integer, JLabel>();
+		labelTable.put(new Integer(10), new JLabel("0 V"));
+		labelTable.put(new Integer(512), new JLabel("2.5 V"));
+		labelTable.put(new Integer(1023), new JLabel("5 V"));
+		slider.setLabelTable(labelTable);
 
 		slider.setPaintLabels(true);
-		slider.setPreferredSize(new Dimension(180,50));
+		slider.setPreferredSize(new Dimension(180, 50));
 		slider.setOpaque(false);
 		slider.addChangeListener(this);
 		slider.addMouseWheelListener(this);
-		
-		JPanel sliderPanel=new JPanel();
+
+		JPanel sliderPanel = new JPanel();
 		sliderPanel.add(slider);
 		sliderPanel.setSize(200, 50);
-		sliderPanel.setLocation(47,170);
+		sliderPanel.setLocation(47, 170);
 		sliderPanel.setOpaque(false);
 		layerpane.add(chiplabel, 0);
-		layerpane.add(sliderPanel,0);
-		
+		layerpane.add(sliderPanel, 0);
+
 		calculatePinPos();
-		
-		
-		
+
 	}
 
 	public void updateModul(Pin arg0) {
-		if (pins.get(0).getValue()!=slider.getValue()) {
+		if (pins.get(0).getValue() != slider.getValue()) {
 			pins.get(0).setValue(slider.getValue());
 		}
 	}
 
 	public boolean connect(Arduino arduino) {
-		this.addPin(arduino.getPin(5+13));
-		arduino.getPin(5+13).setObserver(this);
+		this.addPin(arduino.getPin(5 + 13));
+		arduino.getPin(5 + 13).setObserver(this);
 		return true;
 	}
 
 	@Override
 	public void stateChanged(ChangeEvent arg0) {
-		if (slider.getValue()==1024) slider.setValue(1023); //Kleiner Trick damit die 1024 angezeigt wird aber keinen Fehler verursacht
+		if (slider.getValue() == 1024)
+			slider.setValue(1023); // Kleiner Trick damit die 1024 angezeigt wird aber keinen Fehler verursacht
 		pins.get(0).setValue(slider.getValue());
-		
+
 	}
 
 	@Override
 	public void mouseWheelMoved(MouseWheelEvent arg0) {
 		int notches = arg0.getWheelRotation();
 		if (notches > 0) {
-			slider.setValue(slider.getValue()+10);
+			slider.setValue(slider.getValue() + 10);
 		} else {
-			slider.setValue(slider.getValue()-10);
+			slider.setValue(slider.getValue() - 10);
 		}
-		
-		
-		
+
 	}
+
 	private void calculatePinPos() {
-		Vector<Point> pins=new Vector<Point>();
-		pins.add(new Point(30+117,235));
+		Vector<Point> pins = new Vector<Point>();
+		pins.add(new Point(30 + 117, 235));
 		this.setPinPos(pins);
 	}
-	
+
 }
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/RGB.java b/src/tec/letsgoing/ardublock/simulator/view/modules/RGB.java
index b9cc6d54b4d496a10d407d730ba9bef309ab6e90..2d00b9e36ca159c5438ca124d43b2beeb5694c15 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/RGB.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/RGB.java
@@ -18,6 +18,7 @@ import tec.letsgoing.ardublock.simulator.arduino.Pin;
 
 /**
  * Modul mit einer RGB LED
+ * 
  * @author Lucas
  *
  */
@@ -49,7 +50,7 @@ public class RGB extends Modul {
 		ledlabel.setSize(200, 200);
 		layerpane.add(ledlabel, 0);
 		calculatePinPos();
-		
+
 	}
 
 	public void updateModul(Pin pin) {
@@ -77,11 +78,11 @@ public class RGB extends Modul {
 
 		return true;
 	}
-	
+
 	private void calculatePinPos() {
-		Vector<Point> pins=new Vector<Point>();
-		for (int i=0;i<3;i++) {
-			pins.add(new Point(i*30+117,235));
+		Vector<Point> pins = new Vector<Point>();
+		for (int i = 0; i < 3; i++) {
+			pins.add(new Point(i * 30 + 117, 235));
 		}
 		this.setPinPos(pins);
 	}