Switched to setTimeout instead of setInterval for discrete timers