fixed MSVC level 3 warnings