added line by line comments to code