Compiles and runs on ubuntu, not sure if it works 100% as intended.