some modification for linux