reorder functions again