     traffic = EW_AMBER;
     previousTimeSinceStart = timeSinceStart;
   } else {
-    //if waiting for green light
-    Serial.print("Time left for changing NORTH SOUTH to green in : ");
-    Serial.print((long(minimumGreenLight) - (timeSinceStart - previousTimeSinceStart)) / long(1000));
-    Serial.println("s");
+    //limit printing
+    long remainingTime =  (minimumEWGreenLight - (timeSinceStart - previousTimeSinceStart)) / long(1000);
+    if (remainingTime % 3 == 0) {      //if waiting for green light
+      Serial.print("Time left for changing NORTH SOUTH to green in : ");
+      Serial.print(remainingTime);
+      Serial.println("s");
+    }
   }
 }
 

  }
}

void changeEWGreenToAmber() {
  if (timeSinceStart - previousTimeSinceStart > minimumGreenLight) {
    Serial.println("Vehicle EAST-WEST direction. Changing signal EAST-WEST to green");

    //change NS to amber

  switch (traffic) {
    case NS_GREEN:
      if (vehicleEWCounter > 0) {
        changeNSGreenToAmber();
      }
      break;
    case EW_GREEN:
      if (vehicleNSCounter > 0) {
        changeEWGreenToAmber();
      }
      break;
    case NS_AMBER:
