completed 5-refactoring, 8-bonus