Answers from user akram3d