compile fix for msvc