This answer is close but not quite correct, there is a better answer.