routines have failure method