also reco quantities
optimize pair and single
avoid memory overwrites