assignment refactoring submission