full conversion to c++