rover assignment refactored