updated the javadoc for most classes