compiles and runs under linux