restored MSVC compatibility