Added linux implementation.