workaround constexpr for msvc