switch to call_user_func() to support older versions of PHP