Refactored to utilized an Enumerable for traversing the arguments