refactored receive_order method