added in function prototypes