Reader factory

Reader factory allows us to create any kind of valid reader without changing the harvester