improved class diagram