revised class diagram