Massive refactoring for submission of assignment