use fail()