Answers from user aballantyne