Added Javadoc and UML Diagram