support MSVC 2012 and 2013