started c++ implementation