modify for windows compatible