Interrupt implementation added