added the C++ stuff