reduced warnings on MSVC