fix msvc compile problems