Answers from user MarkWheeler