refactor param sync