only use c++