added some comments to the methods