check 20 use typedef name for funcptr