revert back to function pointers