revising failure handling