license information, code cleanup, javadoc, refactoring, some new methods and other assorted changes