add 3 failure constrain