timeline refactor