Update headers
Clean-up javadoc
Extract re-usable utility classes
javadoc