some comments to the code