start implementing timer-based interrupts