Thanks, I found a good discussion on optional arguments after doing a search. This provides the same capability I need. It sounds like optional arguments are created by providing default values for additional arguments. You can also give a List or an Associative array to the function, and change the bahavior of the function based on the number of values in the list or which keys are present in the associative array. Using a list requires inputs to be carefully placed in the correct order when calling the function, but with the associative array the arguments can be provided in any order.