clang c++ wrapper
better