any reason for not using std::string here?