refactoring timeline