refactor homework module