Answers from user AKBanerjee