Inital C++ version