adding comments to make more readable