refactored rover.rb