applied refactoring to windows, renamed concrete implementations after underlying lib instead of platform
time of the direvent is now correctly set