starting V2 Cpp impl