Fast and correct intrrupt handler