migration to c++