proper external interrupts and timer