Proper interrupt handling