modified collectionReader