receive(?) and refactoring