added c++ boilerplate