added interruption listener support