add msvc support