reordering some fns