Added user intererrupt handling