implemented support for linux