Make it work on linux, then port