swapped to ordered list for reduce