simplify
don't use interrupts