fix promsie issue related to MSVC + typedef