support function as a default value