Fixing all 'class' definitions to a more succinct model.  Further, adding 'unit testing' capabilities