in theory I can write c++