implemented receiveFor(duration)