add includes to be g++-compilable (originally only using llvm)
minor fix: remove unnecessary methods