win32 implementation