Add C++ API