change the param order of callback function