completed error handling