more efficient interreduce