refactor timeline