parameters refactor