diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java
index 5c6082973db19ab2ff4c5266bf387b4b95a09650..2affd255374a5d1ef2e341d0dc4e517fb601b223 100644
--- a/src/tec/letsgoing/ardublock/simulator/Simulator.java
+++ b/src/tec/letsgoing/ardublock/simulator/Simulator.java
@@ -29,7 +29,7 @@ import tec.letsgoing.ardublock.simulator.view.GUI;
  * ist private.
  * 
  * 
- * Pinmapping: RGB: 9,10,11 Poti: A5 Button: 3,4,5
+ * Pinmapping: RGB: 9,10,11 Poti: A0 Button: 2,3,4
  * 
  * @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 ed6254d944597f295723d3a6c4505e618ac2fa56..5a8e6d57abeb9a84667d392437346c7f398843f3 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/comm/CodeConnectString.java
@@ -27,7 +27,7 @@ public class CodeConnectString extends SimCode {
 
 	@Override
 	public SimTypeString run(Arduino _arduino, SimCodeFunction functionHead) {
-		// TODO Add Space between two inputs?
+		// TODO Added Space between to Inputs
 		out = "" + block1.run(_arduino, functionHead).toString() + " " + block2.run(_arduino, functionHead).toString();
 		return new SimTypeString(out);
 	}
diff --git a/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java b/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java
index 986b5cd7b93d7db7558be64f1ea5032eaf51cdb2..25171c6eec23ce7ddd4659b92320fbdfb3046f51 100644
--- a/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java
+++ b/src/tec/letsgoing/ardublock/simulator/simcode/functions/SimCodeFunction.java
@@ -25,6 +25,7 @@ public class SimCodeFunction extends SimCode {
 	private Vector<Variable> vars = new Vector<Variable>();
 	private boolean isMain = false;
 	private Arduino arduino;
+	private SimCodeFunction prevStack=null;
 
 	public SimCodeFunction(String _name, Vector<SimCode> vec) {
 		name = _name;
@@ -34,7 +35,10 @@ public class SimCodeFunction extends SimCode {
 	public SimCode run(Arduino _arduino, SimCodeFunction functionHead) {
 		if (functionHead == null) {
 			isMain = true;
+		} else {
+			prevStack=functionHead;
 		}
+		
 		this.arduino = _arduino;
 		vars = new Vector<Variable>();
 		for (SimCode code : codeBlocks) {
@@ -63,6 +67,10 @@ public class SimCodeFunction extends SimCode {
 				return true;
 			}
 		}
+		if (prevStack!=null) {
+		if(prevStack.setVariable(_name, _value)) 
+			return true;
+		}
 		if (arduino.setVariable(_name, _value))
 			return true;
 
@@ -76,6 +84,9 @@ public class SimCodeFunction extends SimCode {
 				return var.getValue();
 			}
 		}
+		if (prevStack!=null) {
+			return prevStack.readVariable(_name);
+		}
 		return arduino.readVariable(_name);
 
 	}
diff --git a/src/tec/letsgoing/ardublock/simulator/view/GUI.java b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
index bdb727395828ede15b08338ddbab0e43366087d7..e6f57646f7a87f2dcd29484261d332a8e8e2116e 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/GUI.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
@@ -165,7 +165,7 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 	}
 
 	private void drawConnections(Graphics g) {
-		int[] assignment = { 11, 10, 9, 5, 4, 3, 19 };
+		int[] assignment = { 11, 10, 9, 4, 3,2 , 14 };
 		g.setColor(Color.ORANGE);
 		Vector<Point> pinArduino = modules[3].getPinPos();
 		Point posArduino = modules[3].getPosition();
@@ -178,8 +178,11 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 				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,
+							p.x + modules[i].getPosition().x, pinArduino.get(assignment[counter]).y + posArduino.y-40);
+					g2.drawLine(p.x + modules[i].getPosition().x, pinArduino.get(assignment[counter]).y + posArduino.y-40,
+							pinArduino.get(assignment[counter]).x + posArduino.x,
+							pinArduino.get(assignment[counter]).y + posArduino.y-40);
+					g2.drawLine(pinArduino.get(assignment[counter]).x + posArduino.x, pinArduino.get(assignment[counter]).y + posArduino.y-40,
 							pinArduino.get(assignment[counter]).x + posArduino.x,
 							pinArduino.get(assignment[counter]).y + posArduino.y);
 				} else {
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
index e9298f10f912d0f84837350b35ff745253e6bd08..16230697ab44b0a0640ab55cdd9f14fafc04afe4 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Button.java
@@ -84,15 +84,15 @@ public class Button extends Modul implements ActionListener {
 	}
 
 	public boolean connect(Arduino arduino) {
-		Pin tmpPin = arduino.getPin(5);
+		Pin tmpPin = arduino.getPin(4);
 		this.addPin(tmpPin);
 		tmpPin.setObserver(this);
 
-		tmpPin = arduino.getPin(4);
+		tmpPin = arduino.getPin(3);
 		this.addPin(tmpPin);
 		tmpPin.setObserver(this);
 
-		tmpPin = arduino.getPin(3);
+		tmpPin = arduino.getPin(2);
 		this.addPin(tmpPin);
 		tmpPin.setObserver(this);
 
diff --git a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
index 0c215f8460007796574cb0c18219e2a5b6fcab91..28e0e5771e00babfa0f04dab0bf2bba81fea6302 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/modules/Poti.java
@@ -74,8 +74,8 @@ public class Poti extends Modul implements ChangeListener, MouseWheelListener {
 	}
 
 	public boolean connect(Arduino arduino) {
-		this.addPin(arduino.getPin(5 + 13));
-		arduino.getPin(5 + 13).setObserver(this);
+		this.addPin(arduino.getPin(0 + 14));
+		arduino.getPin(0 + 14).setObserver(this);
 		return true;
 	}