compiles by MSVC 2013