Answers from user AhadSmith