First C++ version