add some function prototypes