better explanation of what fails