use std::move for std::string assignment