diff --git a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnBrokerBlock.java b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnBrokerBlock.java
index 8134f5563edd192adbbfd5bf19d686a39de6cd35..1a77e09ed06c77c83f9a298457a2b6bdbe81c865 100644
--- a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnBrokerBlock.java
+++ b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnBrokerBlock.java
@@ -31,7 +31,7 @@ public class PsnBrokerBlock extends TranslatorBlock
 		
 		//pubSubName = psnName.toCode().replaceAll("\\s*_.new\\b\\s*", "").replaceAll("\"", "");
 		
-		translator.addHeaderFile("didacticNet.h");
+		translator.addHeaderFile("DidacticNet.h");
 		translator.addHeaderFile("SoftwareSerial.h");
 		
 		translator.addDefinitionCommand(pubSubType + " " +pubSubName+";\n");
diff --git a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnCallbackBlock.java b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnCallbackBlock.java
index a28db2931c0d6bb3027972d6cbc145d259d29211..12d29ea7674cbd4e51b134a2493c999815ea49c9 100644
--- a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnCallbackBlock.java
+++ b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnCallbackBlock.java
@@ -7,7 +7,6 @@ import com.ardublock.translator.block.TranslatorBlock;
 import com.ardublock.translator.block.exception.BlockException;
 import com.ardublock.translator.block.exception.SocketNullException;
 import com.ardublock.translator.block.exception.SubroutineNotDeclaredException;
-import com.ardublock.translator.block.numbers.LocalVariableNumberBlock;
 import com.ardublock.translator.block.numbers.LocalVariableStringBlock;
 
 
@@ -28,48 +27,62 @@ public class PsnCallbackBlock extends TranslatorBlock
 		
 		String callbackName = label.trim();
 		String topicVar = "";
-		String topicLenVar = "";
+		//String topicLenVar = "";
 		String dataVar = "";
-		String dataLenVar = "";
+		//String dataLenVar = "";
 		String ret = "";
 				
 		TranslatorBlock tb_commentBlock = getRequiredTranslatorBlockAtSocket(0);
 		ret += "//"+tb_commentBlock.toCode().replaceAll("\"", "")+"\n";
 		
 		TranslatorBlock tb_topicVar = getRequiredTranslatorBlockAtSocket(1);
-		TranslatorBlock tb_topicLenVar = getRequiredTranslatorBlockAtSocket(2);
-		TranslatorBlock tb_dataVar = getRequiredTranslatorBlockAtSocket(3);
-		TranslatorBlock tb_dataLenVar = getRequiredTranslatorBlockAtSocket(4);
+		//TranslatorBlock tb_topicLenVar = getRequiredTranslatorBlockAtSocket(2);
+		TranslatorBlock tb_dataVar = getRequiredTranslatorBlockAtSocket(2);//3);
+		//TranslatorBlock tb_dataLenVar = getRequiredTranslatorBlockAtSocket(4);
 		
-		TranslatorBlock tb_code = getTranslatorBlockAtSocket(5);
+		TranslatorBlock tb_code = getTranslatorBlockAtSocket(3);//5);
 		
 		topicVar = tb_topicVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", "");
-		topicLenVar = tb_topicLenVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", "");
+		//topicLenVar = tb_topicLenVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", "");
 		dataVar = tb_dataVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", "");
-		dataLenVar = tb_dataLenVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", "");
+		//dataLenVar = tb_dataLenVar.toCode();//.replaceAll("\\s*_.new\\b\\s*", "");
 		
 		//LOCAL VARs
 		if ((tb_topicVar instanceof LocalVariableStringBlock) && topicVar.contains(newMarker)) {
 			topicVar = topicVar.replaceAll(regex, "");
 						translator.addNumberVariable(topicVar, topicVar);  //remove the "new" Tag after declaration
 		}
-		if ((tb_topicLenVar instanceof LocalVariableNumberBlock) && topicLenVar.contains(newMarker)) {
+		
+		/*if ((tb_topicLenVar instanceof LocalVariableNumberBlock) && topicLenVar.contains(newMarker)) {
 			topicLenVar = topicLenVar.replaceAll(regex, "");
 						translator.addNumberVariable(topicLenVar, topicLenVar);  //remove the "new" Tag after declaration
-		}
+		}*/
+		
 		if ((tb_dataVar instanceof LocalVariableStringBlock) && dataVar.contains(newMarker)) {
 			dataVar = dataVar.replaceAll(regex, "");
 						translator.addNumberVariable(dataVar, dataVar);  //remove the "new" Tag after declaration
 		}
-		if ((tb_dataLenVar instanceof LocalVariableNumberBlock) && dataLenVar.contains(newMarker)) {
+		
+		/*if ((tb_dataLenVar instanceof LocalVariableNumberBlock) && dataLenVar.contains(newMarker)) {
 			dataLenVar = dataLenVar.replaceAll(regex, "");
 						translator.addNumberVariable(dataLenVar, dataLenVar);  //remove the "new" Tag after declaration
-		}
+		}*/
 		
-		if (tb_topicVar instanceof LocalVariableStringBlock && tb_topicLenVar instanceof LocalVariableNumberBlock && tb_dataVar instanceof LocalVariableStringBlock && tb_dataLenVar instanceof LocalVariableNumberBlock) {
+		/*if (tb_topicVar instanceof LocalVariableStringBlock && tb_topicLenVar instanceof LocalVariableNumberBlock && tb_dataVar instanceof LocalVariableStringBlock && tb_dataLenVar instanceof LocalVariableNumberBlock) {
 			translator.addDefinitionCommand("void " + callbackName + "(char*, int, char*, int);\n");
 			ret += "void " + callbackName + "(char* "+ topicVar +", int "+ topicLenVar +", char* "+ dataVar +", int "+ dataLenVar +" ){\n";
 			
+			while (tb_code != null)
+			{
+				ret += tb_code.toCode();
+				tb_code = tb_code.nextTranslatorBlock();
+			}
+			ret += "}\n\n";
+		}*/
+		if (tb_topicVar instanceof LocalVariableStringBlock && tb_dataVar instanceof LocalVariableStringBlock ) {
+			translator.addDefinitionCommand("void " + callbackName + "(char*, int, char*, int);\n");
+			ret += "void " + callbackName + "(char* "+ topicVar +", char* "+ dataVar+" ){\n";
+			
 			while (tb_code != null)
 			{
 				ret += tb_code.toCode();
diff --git a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnClientBlock.java b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnClientBlock.java
index 383e0440034d9a5593aaae18c337b04b1345cd70..f38bb7c6b6a09995691982cc3568a6a0942ab476 100644
--- a/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnClientBlock.java
+++ b/src/main/java/com/ardublock/translator/block/didacticnetwork/PsnClientBlock.java
@@ -34,7 +34,7 @@ public class PsnClientBlock extends TranslatorBlock
 		//pubSubName = psnName.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
 		callbackName = cbName.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
 		
-		translator.addHeaderFile("didacticNet.h");
+		translator.addHeaderFile("DidacticNet.h");
 		translator.addHeaderFile("SoftwareSerial.h");
 		
 		translator.addDefinitionCommand("SoftwareSerial " + serialName+"(" + rxPin.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ txPin.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n");
diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties
index 7857393ef7158abb6efdaab0c556b119e4caf1ba..7d9ab339b278768cd3c70fc59bea4ae3c58edfba 100644
--- a/src/main/resources/com/ardublock/block/ardublock.properties
+++ b/src/main/resources/com/ardublock/block/ardublock.properties
@@ -864,20 +864,20 @@ bg.didacticnetworkDivider2=|       PubSub publish      |
 bg.didacticnetworkDivider3=|       PubSub subscribe      |
 bg.didacticnetworkDivider4=|       PubSub callback      |
 
-bg.psn_broker=psnName Broker
-bg.psn_client=psnName Client
-bg.psn_callback=psnClientCallback
-bg.psn_handle_network=psnName handleNetwork
-bg.psn_data_to_send=psnName isDataToSend?
-bg.psn_set_interval=psnName setInterval 
-bg.psn_publish=psnName publish
-bg.psn_publish=psnName publish
-bg.psn_publish_analog=psnName publish
-bg.psn_publish_digital=psnName publish
-bg.psn_publish_onchange=psnName publishOnChange
-bg.psn_publish_onchange_bool=psnName publishOnChange
-bg.psn_subscribe=psnName subscribe
-bg.psn_unsubscribe=psnName unsubscribe
+bg.psn_broker=pubSubNet Broker
+bg.psn_client=pubSubNet Client
+bg.psn_callback=psnNewData
+bg.psn_handle_network=pubSubNet handleNetwork
+bg.psn_data_to_send=pubSubNet isDataToSend?
+bg.psn_set_interval=pubSubNet setInterval 
+bg.psn_publish=pubSubNet publish
+bg.psn_publish=pubSubNet publish
+bg.psn_publish_analog=pubSubNet publish
+bg.psn_publish_digital=pubSubNet publish
+bg.psn_publish_onchange=pubSubNet publishOnChange
+bg.psn_publish_onchange_bool=pubSubNet publishOnChange
+bg.psn_subscribe=pubSubNet subscribe
+bg.psn_unsubscribe=pubSubNet unsubscribe
 
 bg.psn_broker.description=set up Server
 bg.psn_client.description=set up Client
diff --git a/src/main/resources/com/ardublock/block/ardublock.xml b/src/main/resources/com/ardublock/block/ardublock.xml
index ff314cff1a8a00a9d99d542b7c88b7e3fbd4a8a3..ed462928a35c69d20d3344c42ad582522dc4df65 100644
--- a/src/main/resources/com/ardublock/block/ardublock.xml
+++ b/src/main/resources/com/ardublock/block/ardublock.xml
@@ -2691,7 +2691,7 @@
 					<DefaultArg genus-name="number" label="11" />
 				</BlockConnector>
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.callback">
-					<DefaultArg genus-name="string" label="psnClientCallback" />
+					<DefaultArg genus-name="string" label="psnNewData" />
 				</BlockConnector>
 			</BlockConnectors>
 		</BlockGenus>	
@@ -2706,15 +2706,15 @@
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topicVar">
 					<DefaultArg genus-name="local_variable_string" label="topic" />
 				</BlockConnector>
-				<BlockConnector connector-type="number" connector-kind="socket" label="bc.topicLengthVar">
+				<!-- <BlockConnector connector-type="number" connector-kind="socket" label="bc.topicLengthVar">
 					<DefaultArg genus-name="local_variable_number" label="topicLength" />
-				</BlockConnector>
+				</BlockConnector> -->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.payloadVar">
 					<DefaultArg genus-name="local_variable_string" label="data" />
 				</BlockConnector>
-				<BlockConnector connector-type="number" connector-kind="socket" label="bc.payloadLengthVar">
+				<!-- <BlockConnector connector-type="number" connector-kind="socket" label="bc.payloadLengthVar">
 					<DefaultArg genus-name="local_variable_number" label="dataLength" />
-				</BlockConnector>
+				</BlockConnector> -->
 				<BlockConnector label="bc.commands" connector-type="cmd" connector-kind="socket" />
 			</BlockConnectors>
 		</BlockGenus>
diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties
index f5fdea2a0f3cd906bc9b932d9fde9697397c56a9..982f958f128560483b1f955335590f718dd29162 100644
--- a/src/main/resources/com/ardublock/block/ardublock_de.properties
+++ b/src/main/resources/com/ardublock/block/ardublock_de.properties
@@ -859,19 +859,19 @@ bg.didacticnetworkDivider2=|       PubSub publish      |
 bg.didacticnetworkDivider3=|       PubSub subscribe      |
 bg.didacticnetworkDivider4=|       PubSub callback      |
 
-bg.psn_broker=Broker psnName
-bg.psn_client=Client psnName
-bg.psn_callback=psnClientCallback
-bg.psn_handle_network=psnName handleNetwork
-bg.psn_data_to_send=psnName isDataToSend?
-bg.psn_set_interval=psnName setInterval
-bg.psn_publish=psnName publish
-bg.psn_publish_analog=psnName publish
-bg.psn_publish_digital=psnName publish
-bg.psn_publish_onchange=psnName publishOnChange
-bg.psn_publish_onchange_bool=psnName publishOnChange
-bg.psn_subscribe=psnName subscribe
-bg.psn_unsubscribe=psnName unsubscribe 
+bg.psn_broker=Broker pubSubNet
+bg.psn_client=Client pubSubNet
+bg.psn_callback=psnNewData
+bg.psn_handle_network=pubSubNet handleNetwork
+bg.psn_data_to_send=pubSubNet isDataToSend?
+bg.psn_set_interval=pubSubNet setInterval
+bg.psn_publish=pubSubNet publish
+bg.psn_publish_analog=pubSubNet publish
+bg.psn_publish_digital=pubSubNet publish
+bg.psn_publish_onchange=pubSubNet publishOnChange
+bg.psn_publish_onchange_bool=pubSubNet publishOnChange
+bg.psn_subscribe=pubSubNet subscribe
+bg.psn_unsubscribe=pubSubNet unsubscribe 
 
 bg.psn_broker.description=Broker fuer PubSub Netzwerk erzeugen
 bg.psn_client.description=Client fuer PubSub Netzwerk erzeugen
@@ -892,7 +892,7 @@ bc.ps_interval=ms
 bc.callback=Uebergabefunktion
 bc.payloadVar=Nutzdaten-Variable
 bc.payloadLengthVar=Nutzdaten-Laenge-Variable
-bc.topicVar=Topic Variable
+bc.topicVar=Topic-Variable
 bc.topicLengthVar=Topic-Laenge-Variable
 bc.payload=Nutzdaten
 bc.payloadLength=Länge Nutzdaten
diff --git a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties
index 35fbf5a66da528e4cff33afe0e573bc31a8ce43d..6e99dec70b558d822e09902106a1638de9f82030 100644
--- a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties
+++ b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties
@@ -856,19 +856,19 @@ bg.didacticnetworkDivider2=|       PubSub publish      |
 bg.didacticnetworkDivider3=|       PubSub subscribe      |
 bg.didacticnetworkDivider4=|       PubSub callback      |
 
-bg.psn_broker=Broker psnName
-bg.psn_client=Client psnName
-bg.psn_callback=psnClientCallback
-bg.psn_handle_network=psnName handleNetwork
-bg.psn_data_to_send=psnName isDataToSend?
+bg.psn_broker=Broker pubSubNet
+bg.psn_client=Client pubSubNet
+bg.psn_callback=psnNewData
+bg.psn_handle_network=pubSubNet handleNetwork
+bg.psn_data_to_send=pubSubNet isDataToSend?
 bg.psn_set_interval=PubSub setInterval 
-bg.psn_publish=psnName publish
-bg.psn_publish_analog=psnName publish
-bg.psn_publish_digital=psnName publish
-bg.psn_publish_onchange=psnName publishOnChange
-bg.psn_publish_onchange_bool=psnName publishOnChange
-bg.psn_subscribe=psnName subscribe
-bg.psn_unsubscribe=psnName unsubscribe 
+bg.psn_publish=pubSubNet publish
+bg.psn_publish_analog=pubSubNet publish
+bg.psn_publish_digital=pubSubNet publish
+bg.psn_publish_onchange=pubSubNet publishOnChange
+bg.psn_publish_onchange_bool=pubSubNet publishOnChange
+bg.psn_subscribe=pubSubNet subscribe
+bg.psn_unsubscribe=pubSubNet unsubscribe 
 
 bg.psn_broker.description=Broker fuer PubSub Netzwerk erzeugen
 bg.psn_client.description=Client fuer PubSub Netzwerk erzeugen