fixed MSVC pitfall