cpp wrapper clean up, remove unnecessary conversion back and forth between std::string and char*, convert string to bytes, do not copy strings if not necessary