Added javadoc comments to most public methods