added support for std::move, std::swap, std::to_string