revised UML diagrams