why not initialize readerMap in constructor