renamed has_errors to has_error