fix msvc compilation