Use std::swap