adapt for linux