Added some javadocs
Added UML diagrams