added javadoc, added uml