diff --git a/examples/sPSN_Chat/sPSN_Chat.ino b/examples/sPSN_Chat/sPSN_Chat.ino
index 3c21bd167a730d5ee68ae06c88cbdc02b9d45d10..da9efdffa3f86f58be809f80f66f8a347d443a38 100644
--- a/examples/sPSN_Chat/sPSN_Chat.ino
+++ b/examples/sPSN_Chat/sPSN_Chat.ino
@@ -36,10 +36,11 @@ char topicSub[MAX_LEN_TOPICS] = {""};           //Array für neues Empfangs-Topi
 char topicPub[MAX_LEN_TOPICS] = {""};           //Array für eigenes Sende-Topic
 
 //Callback-Funktion wird bei neuen Daten automatisch aufgerufen
-void newData(char* mTopic, char* mData) {
-  Serial.print(mTopic);
+void newData(char* topic, char* payload) {
+  //Ausgabe-> "Chatname":   "geschriebene Nachricht"
+  Serial.print(topic);      //topic entspricht im Chat dem NAmen des Chatpartners
   Serial.print(":\t");
-  Serial.println(mData);
+  Serial.println(payload);  //payload enthält die geschriebene Nachricht
 }
 
 SoftwareSerial sSerial(10, 11); // SoftwareSerial an Rx = Pin10 -> Empfänger | Tx = Pin11 -> Sender
@@ -58,55 +59,57 @@ void setup() {
   sReader.begin(Serial);
 
   //AUSGABE INFOTEXT
-  Serial.print("Bitte den eigenen Namen mit einem # eingeben\nund mit Enter bestaetigen. -> ");
+  Serial.print("1. Den eigenen Namen mit einem # eingeben\nund mit Enter bestaetigen. -> ");
   Serial.println("#DeinName");
-  Serial.print("Gebe dann die Namen deiner Chatpartner mit einem @ ein. -> ");
-  Serial.println("@ChatPartner");
-  Serial.println("Anschließend kannst du mit ihnen schreiben.");
+  Serial.print("2. Die Namen deiner Chatpartner*innen mit einem @ eingeben -> ");
+  Serial.println("@ChatPartner*in \t (mehrfach moeglich)");
+  Serial.print("3. Chatten: ");
   Serial.println("Pro Nachricht duerfen maximal 20 Zeichen eingegeben werden!");
   Serial.println();
   Serial.println("HINWEIS:");
-  Serial.println("Stelle das Zeilenende im SerialMonitor auf \"Zeilenumbruch (CR)\"");
+  Serial.println("Stelle das Zeilenende im SerialMonitor auf \"ZEILENUMBRUCH (CR)\"");
   Serial.println("*********************************************************************\n");
 }
 
 void loop() {
 
-  psnClient.handleNetwork();  //Verarbeiten der Daten, prüfen ob Netzwerk frei und versenden der Daten
+  psnClient.handleNetwork();                                     //Verarbeiten der Daten, prüfen ob Netzwerk frei und versenden der Daten
 
   int nrOfAscii = sReader.readSerialData(readData, DN_ASCII_CR); //Einlesen der Nutzereingabe am SerialMonitor (Rueckgabewert = Anzahl der gelesenen Zeichen)
 
-  if (nrOfAscii > 0) { //Wenn Daten fertig eingelesen wurden
+  if (nrOfAscii > 0) {                   //Wenn Daten fertig eingelesen wurden
 
-    if (readData[0] == '@') {         //Wenn '@' vorne steht, dann neuer Chatpartner anlegen (neues Topic abonnieren)
-      strcpy(readData, &readData[1]); //verschiebe um ein Zeichen (entferne '@')
-      psnClient.subscribe(readData);  //Lege fest zu welchem Topic Daten empfangen werden sollen (den Namen des Chatpartners)
+    //NEUEM CHATPARTNER FOLGEN
+    if (readData[0] == '@') {            //Wenn '@' vorne steht, dann neuer Chatpartner anlegen (neues Topic abonnieren)
+      strcpy(readData, &readData[1]);    //verschiebe um ein Zeichen (entferne '@')
+      psnClient.subscribe(readData);     //Lege fest zu welchem Topic Daten empfangen werden sollen (den Namen des Chatpartners)
 
-      Serial.print("Nachrichten von "); //Ausgabe welches Topic abonniert wurde
+      Serial.print("Nachrichten von ");  //Ausgabe welches Topic abonniert wurde
       Serial.print(readData);
       Serial.println(" abonniert.");
     }
-    else if (readData[0] == '!') {         //Wenn '@' vorne steht, dann neuer Chatpartner anlegen (neues Topic abonnieren)
-      strcpy(readData, &readData[1]); //verschiebe um ein Zeichen (entferne '!')
-      psnClient.unsubscribe(readData);  //Lege fest zu welchem Topic Daten empfangen werden sollen (den Namen des Chatpartners)
+    //CHATPARTNER ENTFOLGEN
+    else if (readData[0] == '!') {       //Wenn '@' vorne steht, dann neuer Chatpartner anlegen (neues Topic abonnieren)
+      strcpy(readData, &readData[1]);    //verschiebe um ein Zeichen (entferne '!')
+      psnClient.unsubscribe(readData);   //Lege fest zu welchem Topic Daten empfangen werden sollen (den Namen des Chatpartners)
 
-      Serial.print("Nachrichten von "); //Ausgabe welches Topic abonniert wurde
+      Serial.print("Nachrichten von ");  //Ausgabe welches Topic abonniert wurde
       Serial.print(readData);
       Serial.println(" nicht mehr abonniert.");
     }
-
-    else if (readData[0] == '#') {    //Wenn '#' vorne steht, dann neuer eigener Name (neues Topic unter dem gesendet wird)
-      //strcpy(topicPub, readData + 1); //kopiere das neue Topic (deinen neuen Namen) in das passende Array (+ 1 = entferne '#')
-      strcpy(topicPub, &readData[1]); //kopiere das neue Topic (deinen neuen Namen) in das passende Array (+ 1 = entferne '#')
+    //EIGENEN NAMEN ANLEGEN
+    else if (readData[0] == '#') {      //Wenn '#' vorne steht, dann neuer eigener Name (neues Topic unter dem gesendet wird)
+      strcpy(topicPub, &readData[1]);   //kopiere das neue Topic (deinen neuen Namen) in das passende Array (+ 1 = entferne '#')
+      //strcpy(topicPub, readData + 1); //-> Alternative zur Zeile oberhalb
       
-      Serial.print("Dein Name:\t");   //Ausgabe unter welchem Topic veröffentlicht wird
+      Serial.print("Dein Name:\t");     //Ausgabe unter welchem Topic veröffentlicht wird
       Serial.println(topicPub);
     }
-
-    else { //Wenn "normale" Nachrichten eingegeben wurden, dann Daten unter eigenem Topic versenden
+    //NACHRICHT VERSCHICKEN (unter eigenem Namen)
+    else {                                    //Wenn "normale" Nachrichten eingegeben wurden, dann Daten unter eigenem Topic versenden
       psnClient.publish(topicPub, readData);  //Bereite eingegebene Daten zum Senden vor
       
-      Serial.print("Ich:\t");   //Ausgabe was unter deinem Topic veröffentlicht wird
+      Serial.print("Ich:\t");                 //Ausgabe was unter deinem Topic veröffentlicht wird
       Serial.println(readData);
     }
   }
diff --git a/examples/sPSN_Client1/sPSN_Client1.ino b/examples/sPSN_Client1/sPSN_Client1.ino
index 0f4c43aa8d92bf81c78184c062d8df8ba7258c1c..2ba99f19df3c8532ff95da902fee8b9a4672e480 100644
--- a/examples/sPSN_Client1/sPSN_Client1.ino
+++ b/examples/sPSN_Client1/sPSN_Client1.ino
@@ -40,16 +40,16 @@ DidacticPSNetClient psnClient;  //Erzeuge PubSub-Client-Instanz
 
 
 //Callback-Funktion - wird beim Empfang neuer Daten aufgerufen
-void newData(char* mTopic, char* mData) {
-  Serial.print("CB: ");
-  Serial.print(mTopic);
-  Serial.print(" | ");
-  Serial.println(mData);
+void newData(char* topic, char* payload) {
+  Serial.print("New data from topic ");
+  Serial.print(topic);
+  Serial.print(": ");
+  Serial.println(payload);
 
   boolean static stateLED = false;
   
   //Wechsle Zustand der Variable "stateLED" wenn Taster beim Sender gedrueckt wurde
-  if(bool(atoi(mData)) == true){
+  if(bool(atoi(payload)) == true){
     stateLED = !stateLED;
     digitalWrite(LED_PIN, stateLED);              //Setze Ausgang entsprechend dem empfangenen Wert
   }        
@@ -64,7 +64,6 @@ void setup() {
   pinMode(LED_PIN,OUTPUT);
 
   psnClient.begin(sSerial, newData); //Starte PubSub Client an SoftwareSerial Schnittstelle
-  //psnClient.begin(Serial, clientCallback); //Starte PubSub Client an Serial Schnittstelle
 
   psnClient.subscribe(topicSubscribe); //Lege fest zu welchem Topic Daten empfangen werden sollen
 }
diff --git a/examples/sPSN_Client2/sPSN_Client2.ino b/examples/sPSN_Client2/sPSN_Client2.ino
index 4b04bb5684a38d300ec0dc57e9d04e90de7d1c3f..61581fec61b31b41b1507c694c70783243dfa831 100644
--- a/examples/sPSN_Client2/sPSN_Client2.ino
+++ b/examples/sPSN_Client2/sPSN_Client2.ino
@@ -24,7 +24,7 @@
 #define SERIAL_BAUD 2400 //lege Geschwindigkeit für serielle Schnittstellen fest
 
 #define LED_PIN    5
-#define LED2_PIN    6
+#define LED2_PIN   6
 #define BUTTON_PIN 2
 
 char topicPublish[MAX_LEN_TOPICS]   = "btnState";   //Topic unter dem (eigene) Daten veröffentlicht werden
@@ -33,20 +33,18 @@ char topicSubscribe[MAX_LEN_TOPICS] = "potiVal";    //Topic (von anderem TN) das
 SoftwareSerial sSerial(10, 11); //Erzeuge SoftwareSerial-Instanz mit Rx = Pin10 -> Empfänger | Tx = Pin11 -> Sender
 
 DidacticPSNetClient psnClient;  //Erzeuge PubSub-Client-Instanz
-UnblockingTimer uTimer;
-
 
 //Callback-Funktion - wird beim Empfang neuer Daten aufgerufen
-void newData(char* mTopic, char* mData) {
-  Serial.print("CB: ");
-  Serial.print(mTopic);
-  Serial.print(" | ");
-  Serial.println(mData);
+void newData(char* topic, char* payload) {
+  Serial.print("New data from topic ");
+  Serial.print(topic);
+  Serial.print(": ");
+  Serial.println(payload);
 
-  int valuePoti = atoi(mData);  //wandle ASCII-Zeichen in Wert
+  int valuePoti = atoi(payload);  //wandle ASCII-Zeichen in Wert
   //Alternativ: sscanf(mData, "%d", &stateLED); //wandle ASCII-Zeichen in Wert
 
-  int valueLED = constrain(map(valuePoti, 0, 1023, 0, 255), 0, 255); //passe analogRead-Wert für analogWrite an
+  int valueLED = constrain(map(valuePoti, 0, 1023, 0, 255), 0, 255); //passe analogRead-Wert (0-1023) für analogWrite (0-255) an und begrenze
   
   analogWrite(LED_PIN, valueLED);        //Setze Ausgang entsprechend dem empfangenen Wert
   analogWrite(LED2_PIN, 255-valueLED);   //Setze Ausgang invertiert zum empfangenen Wert
@@ -59,8 +57,7 @@ void setup() {
   sSerial.begin(SERIAL_BAUD);   //Starte SoftwareSerielle Schnittstelle (zu IR-Link-Modulen)
 
   psnClient.begin(sSerial, newData); //Starte PubSub Client an SoftwareSerial Schnittstelle
-  //psnClient.begin(Serial, clientCallback); //Starte PubSub Client an Serial Schnittstelle
-
+  
   psnClient.subscribe(topicSubscribe); //Lege fest zu welchem Topic Daten empfangen werden sollen
 }
 
diff --git a/examples/sPSN_ClientMinimal/sPSN_ClientMinimal.ino b/examples/sPSN_ClientMinimal/sPSN_ClientMinimal.ino
index 3222fde51f4244bb23296cac218736fc7c4c8a6a..b9cb74ec467b93f9d6f089cbab72fc75cef23f7f 100644
--- a/examples/sPSN_ClientMinimal/sPSN_ClientMinimal.ino
+++ b/examples/sPSN_ClientMinimal/sPSN_ClientMinimal.ino
@@ -29,11 +29,11 @@ SoftwareSerial sSerial(10, 11); //Erzeuge SoftwareSerial-Instanz mit Rx = Pin10
 DidacticPSNetClient psnClient;  //Erzeuge PubSub-Client-Instanz
 
 //Callback-Funktion - wird beim Empfang neuer Daten aufgerufen
-void newData(char* mTopic, char* mPayload) {
-  Serial.print("Nachricht von: ");
-  Serial.print(mTopic);
-  Serial.print(" - ");
-  Serial.println(mPayload);
+void newData(char* topic, char* payload) {
+  Serial.print("Topic: ");
+  Serial.print(topic);
+  Serial.print("   Nutzdaten: ");
+  Serial.println(payload);
 }
 
 
diff --git a/examples/sPSN_PingTest/sPSN_PingTest.ino b/examples/sPSN_PingTest/sPSN_PingTest.ino
index 14eebdda6a19d72b721d248713154f481535c4c9..6269e756ac4ce73385ab88df8f4beb380ad1ef3c 100644
--- a/examples/sPSN_PingTest/sPSN_PingTest.ino
+++ b/examples/sPSN_PingTest/sPSN_PingTest.ino
@@ -50,8 +50,8 @@ char payloadSend[] = "Ping";
 
 bool ledState = true;
 
-void newData(char* mTopic, char* mData) {
-  Serial.println(mData);
+void newData(char* topic, char* payload) {
+  Serial.println(payload);
   digitalWrite(LED_BUILTIN, HIGH);
 }
 
diff --git a/examples/sPSN_PongTester/sPSN_PongTester.ino b/examples/sPSN_PongTester/sPSN_PongTester.ino
index d96ba58682fa5ea22fb04547af9f5aa576c49ab7..2eebc9ee99d3f2f45049a4c000dffe519018ca50 100644
--- a/examples/sPSN_PongTester/sPSN_PongTester.ino
+++ b/examples/sPSN_PongTester/sPSN_PongTester.ino
@@ -44,13 +44,13 @@ char payloadSend[] = "Pong";
 
 bool ledState = true;
 
-void newData(char* mTopic, char* mData) {
-  Serial.println(mTopic);
+void newData(char* topic, char* payload) {
+  Serial.println(topic);
   //reply pong
-  strcpy(topicPub, mTopic);
-  if (!strcmp(mData, "Ping")) { //Empfangene Nachricht == Ping
+  strcpy(topicPub, topic);
+  if (!strcmp(payload, "Ping")) { //Empfangene Nachricht == Ping
     Serial.print(" ");
-    Serial.print(mTopic);
+    Serial.print(topic);
     psnClient.publish(topicPub, payloadSend);
   }
 }