Refactoring and program argument processing