Added better support for c++