Adding proper c++ support