handle function pointer's argument passing