added comments to all methods