pass_arg refactor