Use `const std::string &` instead of std::string to avoid copying