error detection + error reporting