add fail flow