pass std::string by (const) reference, not value/copy