added some interrupt action handling