add props, set_props, set_prop functions