adapting for linux