major refactoring: introduced IRQ-module which handles all the irq stuff