Ash's better error handling.