change optional_param to optional_param_array