wrote javadoc for the rest of the classes