remove warning from MSVC need another round of check