timeline refactor again