Added more comments to the code.