refactoring arguments