Answers from user KaiwenSheng