class diagram impl