custom InputFormat and RecordReader