two different ways to fail