refactoring syllabus