provide if function