Completed and added a linux version