This is the solution - 60% of the way there