refine failure protocol