 
   if(statePending) {
 
-    //led control
-    if(millis() - start_time > pendingThreshold) {
-      //stop blinking after a period of time
-      digitalWrite(ledStatePin, LOW);
-      statePending = false;
-      DEBUG_PRINTLN("led blinking timeout");
-      
-    }
     
+
     end_time = millis();
 
     if(end_time - toggle_time > ledStateInterval) {


    //client starts blinking
    statePending = true;
    start_time = millis();
    ledStateInterval = 600;

  }

      // broadcast message
      sendBackDeviceID();
    }
    else if(strcmp(p.var, "SEL") == 0) {
      // if it's selection related, process in this level
      DEBUG_PRINTLN("selection msg received");
      if(strcmp(p.data, " ON") == 0) {
        //one is selected => turn on led
        //the rest => turn off led
        if(atoi(p.id) == atoi(deviceId)) {
          digitalWrite(ledStatePin, HIGH);  
        } else {
          digitalWrite(ledStatePin, LOW);  
        }
        statePending = false;

      } else if(strcmp(p.data, "OFF") == 0) {
        //turn off all the led just in case

        digitalWrite(ledStatePin, LOW);
        statePending = false;

      } else if(strcmp(p.data, "080") == 0) {
        //the one is hovered => blink fast
        //the rest => blink slow
        if(atoi(p.id) == atoi(deviceId)) {
          ledStateInterval = 100;
        } else {
          ledStateInterval = 500;
        }
        statePending = true;
        

      } 
    }
    else if (atoi(p.id) == atoi(deviceId)) {
      
      // pass this message to the function of client
      if(strcmp(deviceId, deviceLaptop) == 0) {
        laptopBridging(p);
