rearrange function parameters