avoid explicit std::string use