added all function declarations