add receive_check and receive_interrupt