Answers from user AJBoris