timeline refactoring