add extra function prototype for compiler :/