interrupt redesign part 1