added timeline implementation