split out read_diversions()