std::swap now works