fix preprocessor
add RecordReader<TRecord> and RecordManager<TRecord>