diff --git a/src/main/java/com/ardublock/translator/Translator.java b/src/main/java/com/ardublock/translator/Translator.java
index 826084766bcfb900590355f17f92033420e2242b..4f67e896f801d77a32516109dd60fda9eaf8acba 100644
--- a/src/main/java/com/ardublock/translator/Translator.java
+++ b/src/main/java/com/ardublock/translator/Translator.java
@@ -38,6 +38,8 @@ public class Translator
 	
 	private Map<String, String> numberVariableSet;
 	private Map<String, String> booleanVariableSet;
+	private Map<String, String> numberSimSet;
+	private Map<String, String> booleanSimSet;
 	private Map<String, String> stringVariableSet;
 	private Map<String, Object> internalData;
 	private Workspace workspace;
@@ -145,15 +147,15 @@ public class Translator
 	}
 	
 	public void clearMaps() {
-		numberVariableSet.clear();
-		booleanVariableSet.clear();
+		numberSimSet.clear();
+		booleanSimSet.clear();
 	}
 	public Map<String, String> getNuberMap() {
-		return numberVariableSet;
+		return numberSimSet;
 	}
 	
 	public Map<String, String> getBooleanMap() {
-		return booleanVariableSet;
+		return booleanSimSet;
 	}
 	
 	public BlockAdaptor getBlockAdaptor()
@@ -173,6 +175,8 @@ public class Translator
 		
 		numberVariableSet = new HashMap<String, String>();
 		booleanVariableSet = new HashMap<String, String>();
+		numberSimSet = new HashMap<String, String>();
+		booleanSimSet = new HashMap<String, String>();
 		stringVariableSet = new HashMap<String, String>();
 		
 		internalData =  new HashMap<String, Object>();
@@ -259,6 +263,16 @@ public class Translator
 		booleanVariableSet.put(userVarName, internalName);
 	}
 	
+	public void addNumberSim(String userVarName, String internalName)
+	{
+		numberSimSet.put(userVarName, internalName);
+	}
+	
+	public void addBooleanSim(String userVarName, String internalName)
+	{
+		booleanSimSet.put(userVarName, internalName);
+	}
+	
 	public void addStringVariable(String userVarName, String internalName)
 	{
 		stringVariableSet.put(userVarName, internalName);
diff --git a/src/main/java/com/ardublock/translator/block/numbers/SetterVariableDigitalBlock.java b/src/main/java/com/ardublock/translator/block/numbers/SetterVariableDigitalBlock.java
index dca5ce6e75b99a4faa84410efecf9d1324f3b3cb..7a7aafcf7405ca19ec63a60a693f04240a0950a9 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/SetterVariableDigitalBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/SetterVariableDigitalBlock.java
@@ -79,7 +79,7 @@ public class SetterVariableDigitalBlock extends TranslatorBlock
 		TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0);
 		SimTypeString variableName = new SimTypeString(translatorBlock.toString());
 		if (translatorBlock instanceof VariableDigitalBlock) {
-			translator.addBooleanVariable(translatorBlock.toString(), translatorBlock.toString());
+			translator.addBooleanSim(translatorBlock.toString(), translatorBlock.toString());
 		}
 		translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
 		SimTypeBool value = new SimTypeBool(translatorBlock.toSim());
diff --git a/src/main/java/com/ardublock/translator/block/numbers/SetterVariableNumberBlock.java b/src/main/java/com/ardublock/translator/block/numbers/SetterVariableNumberBlock.java
index 34b373344ef9effb81b38f2545230a46529cca3b..efbe2f9826077ca4332410c24cf35f28ea075b72 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/SetterVariableNumberBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/SetterVariableNumberBlock.java
@@ -75,7 +75,7 @@ public class SetterVariableNumberBlock extends TranslatorBlock
 		TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0);
 		SimTypeString variableName = new SimTypeString(translatorBlock.toString());
 		if (translatorBlock instanceof VariableNumberBlock) {
-			translator.addNumberVariable(translatorBlock.toString(), translatorBlock.toString());
+			translator.addNumberSim(translatorBlock.toString(), translatorBlock.toString());
 		}
 		translatorBlock = this.getRequiredTranslatorBlockAtSocket(1);
 		SimTypeInt value = new SimTypeInt(translatorBlock.toSim());
diff --git a/src/main/java/com/ardublock/ui/listener/SimulateCodeButtonListener.java b/src/main/java/com/ardublock/ui/listener/SimulateCodeButtonListener.java
index 0fc4733005f30e2712bd9dd5a30d2a0d0acd70c2..2a9e01063d13b461ed7c0039fb80b19fa1f21e20 100644
--- a/src/main/java/com/ardublock/ui/listener/SimulateCodeButtonListener.java
+++ b/src/main/java/com/ardublock/ui/listener/SimulateCodeButtonListener.java
@@ -213,7 +213,7 @@ public class SimulateCodeButtonListener implements ActionListener
 			{
 				translator.setRootBlockName("subroutine");
 				Block subroutineBlock = renderableBlock.getBlock();
-				//code.append(translator.translate(subroutineBlock.getBlockID()));
+				code.append(translator.translate(subroutineBlock.getBlockID()));
 				translator.simulate(subroutineBlock.getBlockID());
 				//collect simcode objects here -> all SimCodeObjects inside main subroutines
 				//eg. simList.append(translator.simulate(subroutineBlock.getBlockID())); -> simList = simCodeObject-List
@@ -223,7 +223,7 @@ public class SimulateCodeButtonListener implements ActionListener
 			{
 				translator.setRootBlockName("loop");
 				Block loopBlock = renderableBlock.getBlock();
-				//code.append(translator.translate(loopBlock.getBlockID()));			
+				code.append(translator.translate(loopBlock.getBlockID()));			
 				translator.simulate(loopBlock.getBlockID());
 			}