removal of call_user_func