add some comments to explain the code