smarter failure types