add license headers
make BaseRecordReader its own class