First rough pass. Timers basically work.