shouldn't this use FailureInterface instead ?