improve MSVC support

-taking another approach, previous commit didn't catch all