@startuml 'maybe for sneidc since he did videoshop:cahnge-password' skinparam linetype ortho skinparam groupInheritance 2 package Salespoint { Class PersistentUserAccountManager Interface UserAccountRepository Class UserAccount Class Role PersistentUserAccountManager "1" <-- UserAccountRepository UserAccountRepository o-- UserAccount UserAccount - "0...*" Role } package catering.users { 'what is on the left will be higher up' UserAccount <|-- AdministratorAccount UserAccount <|-- CustomerAccount class AdministratorAccount { } class CustomerAccount { - address - email } Class UserController { + UserController() + register(form : Form, model : Model) : String + customers(model : Model) : String } UserController --> "1" PersistentUserAccountManager } 'do employees need an account?' @enduml