refactored parameter function