Set timer based on time, not setInterval calls

- timer was drifting like crazy