stricter C++ prototypes