GenericReader: factorize!