changed the way interrupts work