re-arrange parameter ordering