refactor, javadoc changes, etc etc