redundant std::move() calls removed