using common interrupts