Eliminated duplicate properties, added fName and lName and methods, made lName abstrast to allow for nulls.  Added toString() methods to all subclasses.