functions returning std::string will use new()