diff --git a/.gitignore b/.gitignore
index f44bbba9f4165bd286791553a7ffa3b8602e594a..4662a3657603d790f948c04500e0561673a79d6f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,11 +9,4 @@ target/
 openblocks.iml
 bin/
 .settings/
-*~
 src/main/resources/com/ardublock/block/ardublock.zip
-deploy.sh
-<<<<<<< HEAD
-=======
-test-output
-src/main/resources/com/ardublock/block/littlebits/files
->>>>>>> upstream/master
diff --git a/src/main/java/com/ardublock/translator/block/communication/GlueBlock.java b/src/main/java/com/ardublock/translator/block/communication/GlueBlock.java
index ac888221e5eb5c84fc5e422e103a4f74a8a51ff9..c3a87646de6f2a7fc09de1eaa8b4c3e2bb2041eb 100644
--- a/src/main/java/com/ardublock/translator/block/communication/GlueBlock.java
+++ b/src/main/java/com/ardublock/translator/block/communication/GlueBlock.java
@@ -35,6 +35,11 @@ public class GlueBlock extends TranslatorBlock
 	public SimCode toSim() throws BlockException, SocketNullException {
 		TranslatorBlock tB2 = this.getTranslatorBlockAtSocket(1);
 		TranslatorBlock tB1 = this.getTranslatorBlockAtSocket(0);
-		return new CodeConnectString(tB1.toSim(),tB2.toSim());
+		if(tB1 != null) {
+			return new CodeConnectString(tB1.toSim(),tB2.toSim());
+		}
+		return new CodeConnectString(null,tB2.toSim());  
 	}
-}
\ No newline at end of file
+} 
+
+
diff --git a/src/main/java/com/ardublock/translator/block/control/SubroutineRefBlock.java b/src/main/java/com/ardublock/translator/block/control/SubroutineRefBlock.java
index 874d1ef633f37f64dcb32ca76582e5944316ba57..072b2cd60e14068b32ff6fb86181901209608e06 100644
--- a/src/main/java/com/ardublock/translator/block/control/SubroutineRefBlock.java
+++ b/src/main/java/com/ardublock/translator/block/control/SubroutineRefBlock.java
@@ -27,6 +27,7 @@ public class SubroutineRefBlock extends TranslatorBlock
 		return "\t"+subroutineName + "();\n";
 	}
 	
+	@Override
 	public SimCode toSim() {
 		return new CodeExecuteFunction(label.trim());
 	}
diff --git a/src/main/java/com/ardublock/ui/OpenblocksFrame.java b/src/main/java/com/ardublock/ui/OpenblocksFrame.java
index a367c0d0d3586cb1b4e57668b0b9dbd1b5e7e615..03f5c17a240c367630683157b00ef5e98338d0cc 100644
--- a/src/main/java/com/ardublock/ui/OpenblocksFrame.java
+++ b/src/main/java/com/ardublock/ui/OpenblocksFrame.java
@@ -346,6 +346,8 @@ public class OpenblocksFrame extends JFrame
 			        workspaceController.loadProject(getArduBlockString(), null , "default");	
 			        generateButton.setVisible(true);
 			        simulateButton.setVisible(false);
+			        serialMonitorButton.setVisible(true);
+				    serialPlotterButton.setVisible(true);
 			        appPrefix = uiMessageBundle.getString("ardublock.ui.appprefix.standard");
 			        setTitle(makeFrameTitle());
 			        
@@ -375,6 +377,8 @@ public class OpenblocksFrame extends JFrame
 		        	workspaceController.loadProject(getArduBlockString(), null , "custom");
 			        generateButton.setVisible(true);
 			        simulateButton.setVisible(false);
+			        serialMonitorButton.setVisible(true);
+				    serialPlotterButton.setVisible(true);
 			        appPrefix = uiMessageBundle.getString("ardublock.ui.appprefix.pro");
 			        setTitle(makeFrameTitle());
 			        
@@ -405,6 +409,8 @@ public class OpenblocksFrame extends JFrame
 				   	workspaceController.loadProject(getArduBlockString(), null , "default");
 				    generateButton.setVisible(false);
 				    simulateButton.setVisible(true);
+				    serialMonitorButton.setVisible(false);
+				    serialPlotterButton.setVisible(false);
 				    //TODO get up running...
 				    appPrefix = uiMessageBundle.getString("ardublock.ui.appprefix.sim");
 				    setTitle(makeFrameTitle());
@@ -462,24 +468,26 @@ public class OpenblocksFrame extends JFrame
 		websiteButton.setToolTipText(uiMessageBundle.getString("ardublock.ui.website.tooltip"));
 		//*****************************************
 		
-		bottomPanel.add(websiteButton);
 		//bottomPanel.add(blockreferenceButton);
-		bottomPanel.add(Box.createRigidArea(new Dimension(15, 0))); //std value 30,0
+		bottomPanel.add(Box.createRigidArea(new Dimension(10, 0))); //std value 30,0
 		bottomPanel.add(saveImageButton);
-		bottomPanel.add(Box.createRigidArea(new Dimension(15, 0))); //std value 30,0
+		bottomPanel.add(Box.createRigidArea(new Dimension(10, 0))); //std value 30,0
 		bottomPanel.add(zoomSlider);
 		//bottomPanel.add(zoomInButton);
 		//bottomPanel.add(zoomResetButton);
 		//bottomPanel.add(zoomOutButton);
-		bottomPanel.add(Box.createRigidArea(new Dimension(15, 0))); //std value 30,0
-		bottomPanel.add(versionLabel);
-		bottomPanel.add(Box.createRigidArea(new Dimension(15, 0))); //std value 30,0
+		bottomPanel.add(Box.createRigidArea(new Dimension(10, 0)));//std value 30,0
 		bottomPanel.add(copyButton);
 		bottomPanel.add(pasteButton);
-		bottomPanel.add(Box.createRigidArea(new Dimension(15, 0))); //std value 30,0
+		bottomPanel.add(Box.createRigidArea(new Dimension(10, 0))); //std value 30,0
 		bottomPanel.add(modeBasicButton);
 		bottomPanel.add(modeProButton);
 		bottomPanel.add(modeSimButton);
+		bottomPanel.add(Box.createRigidArea(new Dimension(10, 0))); //std value 30,0
+		bottomPanel.add(versionLabel);
+		bottomPanel.add(Box.createRigidArea(new Dimension(10, 0))); //std value 30,0
+		bottomPanel.add(websiteButton);
+		
 		//bottomPanel.add(lmssiteButton);
 		
 		this.add(topPanel, BorderLayout.NORTH);
diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties
index b3552d70f5020eff2bf1b89319f4af14146d7512..0dd8141e4249a73a4092c987111b93a2d2c01234 100644
--- a/src/main/resources/com/ardublock/block/ardublock.properties
+++ b/src/main/resources/com/ardublock/block/ardublock.properties
@@ -47,7 +47,7 @@ ardublock.ui.undo=Undo
 ardublock.ui.undo.tooltip=Undo Ctrl-Z
 ardublock.ui.redo=Redo
 ardublock.ui.redo.tooltip=redo Ctrl-Y
-ardublock.ui.saveImage=Save as image...
+ardublock.ui.saveImage=Save as image
 ardublock.ui.saveImage.tooltip=save current program as image... Ctrl-P
 ardublock.ui.zoomIn=+
 ardublock.ui.zoomIn.tooltip=zoom in Ctrl-Plus
@@ -62,7 +62,7 @@ ardublock.ui.paste.tooltip=paste program from clipboard Ctrl-V
 ardublock.ui.simulation=simulate
 ardublock.ui.simulation.tooltip=start simulation with basic block-set and letsgoING modules
 
-ardublock.ui.version=Version 2.13 Simulator
+ardublock.ui.version=v2.2 beta
 
 ardublock.ui.appprefix.standard=
 ardublock.ui.appprefix.pro=Pro
diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties
index aff08604a56c007bcd55970501e83b9efb7ef7dd..39b0844e89c67694c451e00123fe93a746c17490 100644
--- a/src/main/resources/com/ardublock/block/ardublock_de.properties
+++ b/src/main/resources/com/ardublock/block/ardublock_de.properties
@@ -49,7 +49,7 @@ ardublock.ui.undo=Undo
 ardublock.ui.undo.tooltip=Rückgängig Ctrl-Z
 ardublock.ui.redo=Redo
 ardublock.ui.redo.tooltip=Wiederherstellen Ctrl-Y
-ardublock.ui.saveImage=Bild speichern...
+ardublock.ui.saveImage=Bild speichern
 ardublock.ui.saveImage.tooltip=Speichert ein Bild des aktuellen Programms  Strg-P
 ardublock.ui.zoomIn=+
 ardublock.ui.zoomIn.tooltip=vergrößere Programm Strg-Plus
@@ -64,7 +64,7 @@ ardublock.ui.paste.tooltip=f
 ardublock.ui.simulation=Hochladen auf den Simulator
 ardublock.ui.simulation.tooltip=Starte den Simulator fuer die letsgoING-GrundlagenModule
 
-ardublock.ui.version=Version 2.13 Simulator
+ardublock.ui.version=v2.2 beta
 
 ardublock.ui.appprefix.standard=
 ardublock.ui.appprefix.pro=Pro
@@ -185,8 +185,7 @@ bg.repeat.description=Wiederhole die Befehle x-mal. Die Wiederholungen werden in
 bg.repeat_control.description=
 bg.break.description=Beende die aktuelle Schleife\nACHTUNG: Nicht in der Hauptschleife verwenden!
 bg.delay_microseconds.description=Warte Mikrosekunden. Solange tut das Programm nichts
-bg.wait.description=Befehle ausserhalb von mache werden nur alle x-Millisekunden ausgeführt\nDie Startzeit jedes Durchgangs wird in der Variable gespeichert 
-
+bg.wait.description=Die Bloecke innerhalb dieses Blocks werden ausgeführt x Millisekunden ausgeführt. 
 
 bc.head=
 bc.setup=Setup