refactoring parameter proecessing