added comments to clarify the properties