this ensures if loop() takes more than 1 second, the main task gets its priority dropped until loop() completes