redone UML class diagram