new error handling.