rearanged reaction_reader a bit