Answers from user GrahamBlackburn