refactored arguments