replaced millis() with micros()