added boundary check for property index