fixed the receive behavior