compiles and runs, is incorrect