FIX: no point in declaring/setting checksum var if not reading a record
ADD: Comments
FIX: throw exception on error 5 - not yet implemented
ADD: more comments