added UML diagram v1