use ``call_user_func_array``, you should also define a default value