Functional timeline

It now interacts with the canvas as it should!