add back in option.functions