refactor parameters