change function order