mostly removed std::string