updated javadocs and uml