timeval struct instead of DWORD