remove everything and switch to C++