Answers from user adamwesterman