add function pointers