added interrupts and IRQs; fixes #2