more unit tests, updated license and readme, additional refinements to error logging and class cohesion.