reorder support functions, order in which they're called