modify for linux OS friendly