added call_user_func  and a new disclaimer