fix compilation msvc