Added UML diagram to implementation