Added javadoc comments for most, if not all methods