Adding comments to explain all code