Added javadoc to explain the various components.
Updated README.