new win32 implementation