       	Serial.println("[WAIT] being verified");
 
       	// may flash the light to indicate this
-      	
+      	ledStateInterval = 200;
       	state = PENDING;
       }      
       // verifying this selection
       else if (atoi(p.id) != atoi(deviceId) && p.type[0] == 'v') {
       	// have been confirmed
       	Serial.println("[WAIT] verifying others");
+	ledStateInterval = 500;
       	state = PENDING;
       }      
       else {

  case PENDING:
    end_time = millis();

    if(end_time - toggle_time > 200) {
      digitalToggle(ledStatePin);
      toggle_time = millis();
    }

    // soft timer expires
    if (end_time - start_time > DELAY_IN_WAIT/1000) {
      Serial.println("[PENDING] Timer expires, back to IDLE");
      // timeout, return to IDLE
      state = IDLE;
    }
    if(XBee.available()) {
      // delay for the complete of transmission
      delay(10);
      Serial.println("[WAIT] Reading Packet");
      struct XBeePacket p = readXBeePacket(&XBee);
      printXBeePacket(p);

      if (atoi(p.id) == atoi(deviceId) && p.type[0] == 'c') {
      	// have been confirmed
      	Serial.println("[CONNECTED] entering state");

      	// turn on the ligth to indicate
      	digitalWrite(ledStatePin, HIGH);

      	state = CONNECTED;
      }

    break;

  case CONNECTED:
    // temporarily for debugging 
    // turn on the ligth to indicate
    digitalWrite(ledStatePin, HIGH);
    delay(10000);
    state = IDLE;
