use defaultFn in base #303