   int secToDeath = timeToDeath - minToDeath * 60;
 
   String datastring;
-  datastring = getShortTimeString ();
-  datastring = datastring + String(" ");
-  datastring = datastring + String("Overheat");
-  datastring = datastring + String("(") + getData(thermalSensor[sensor]) + String(")");
-  datastring = datastring + String("[");
+  datastring = String(toProgressBar(2, 30, gsm_signal));
+  datastring += String(" "); 
+  datastring += getShortTimeString ();
+  datastring += String(" (") + getData(thermalSensor[sensor]) + String(") [");
   for (int period; period < 3; period++)
   {
-    datastring = datastring + String(tempAvgCur[period][sensor]) + String("/");
-  }
-  datastring = datastring + String("Death after: ") + minToDeath + String(":") + secToDeath;
-  Serial.println(datastring);
+    datastring += String(tempAvgCur[period][sensor]) + String("/");
+  }
+  datastring += String("] ETA: ");  
+  datastring += minToDeath;
+  datastring += String(" (min)");
   return datastring;
 
 }

  Serial.println();
  delay(1000);
  SIM900.println("ATH");        // hanging off call (just for shure);
  delay(1000);
  SIM900.println("AT+CMGD=1,4"); // delete all SMS
  delay(1000);

  Serial.print("[boot] Syncing with RTC clock  ----- ");
  setSyncProvider(RTC.get);   // the function to get the time from the RTC

// proceed a sending message to number
boolean sendSMS(String number, String message)
{
  String readString; 
  SIM900.print("AT+CMGF=1\r");                              // AT command to send SMS message
  delay(100);

  SIM900.print("AT+CMGS=\"");
  SIM900.print(number);
  delay(1000);
  SIM900.println("\"");                                     // recipient's mobile number, in international format
  delay(1000);
  SIM900.println(message);                                  // message to send
  delay(1000);
  SIM900.println((char)26);                                 // End AT command with a ^Z, ASCII code 26
  delay(1000);
  SIM900.println();
  delay(30000);                                             // give module time to send SMS

  while (SIM900.available() > 0)
    { char inchar = SIM900.read();
      readString += inchar;
      delay(10);
    }
  Serial.println("[DBG] SEND SMS");
  Serial.println(readString);
  return true;
}


void readSMS( bool debug)
{
  bool isMsgExists;
  String readString;
  String resultString;

  for (int smsID = 1; smsID <= 10; smsID++)
  {
    readString = "";
    isMsgExists = false;

    SIM900.print("AT+CMGR="); SIM900.println(smsID);
    delay(1000);
    while (SIM900.available() > 0)
    { char inchar = SIM900.read();
      readString += inchar;
      delay(10);
    }

    if (debug) {
      Serial.print("[DBG] AT+CMGR="); Serial.print(smsID); Serial.print(" :");
      Serial.println(readString);
    }


    for (int i = 0; i < 200; i++)
    {
      for (int j = 0; j < sizeof(phone_number) / sizeof(phone_number[0]); j++)
      {
        
        if (readString.substring(i, i + 12) == phone_number[j])
        {
          isMsgExists = true;
          if (debug) {
            Serial.print(" FOUND:");
            Serial.println(readString.substring(i, i + 12));
          }
          for (int deviceid = 0; deviceid < sizeof(thermalSensor) / sizeof(DeviceAddress); deviceid++)
          {
            sendSMS(phone_number[j], makeMessage(deviceid));
          }
        }
        /*        if (isMsgExists)
                {
                  SIM900.print("AT+CMGD="); SIM900.println(smsID);
                  for (int k = i; k < 200 - i; k++)
                  {
                    if (readString.substring(k, k + 4) == "INFO")
                    {
                      for (int deviceid = 0; deviceid < sizeof(thermalSensor) / sizeof(DeviceAddress); deviceid++)
                      {
                        sendSMS(phone_number[i], makeMessage(deviceid));
                      }
                      if (debug) {
                        Serial.print("COMMAND:");
                        Serial.println(resultString);
                      }
                    }
                  }
                }*/
      }
    }
  }
}




// main loop
void loop()
