ocr is mostly functional