compiles and runs, now to test