add more comments to explain how to solve it