fixed msvc compilation