fix up merge
move to better logging practice
move DataObject to seperate lib file for reusability. add logging messages
more merge cleanup (I shouldn't have done this in a hurry...)
organize interface