add msvc2012 compatibility