add rover refactor including notes of problem solving