Added function declarations and function pointers