added better exception handling...

-added unit tests
-fixed some name failures
-refactored  the validation method of ArgumentSet