More intuitive flow, dry'er
Implementing idle_time, now, sleep