Move common reading code into ReconReader