added function pointers to fix compile error