did not need ugly returns after fail, compiles and runs