A much needed error handling revision