- add "unblocking" timeout + minor improvements - register interrupts instead of considering only the latest