hopefully this should fix msvc and noexcept