Added even more comments to the code