error detection
miscellaneous things