refactored timeline