refactored property_create_spec and property_update_spec