Answers from user TomMontgomery