reorder some funcs