refactored defaultArgs to use array args