Added javadoc comments to public api classes and methods