Added comments to make everything cleaner