C++ version

added some classes, c++ headers etc