reorder some functions :sparkles: