refine function order