renamed 'option' to 'property' throughout