New C++ backend