@startuml class AuthController { + displayRegister() : HttpResponse + displayBadFields(viewName : string, fails : array) : HttpResponse + confirmRegister(request : array) : HttpResponse + displayLogin() : HttpResponse + confirmLogin() : HttpResponse } AuthController --> "- model" AuthModel class AuthModel { + register(username : string, password : string, confirmPassword : string, email : string): array + getAccount(email : string):array + login(email : string, password : string) } AuthModel --> "- gateway" AuthGateway class AuthGateway { -con : Connection + mailExists(email : string) : bool + insertAccount(username : string, hash : string, email : string) + getUserHash(email : string):string + getAccount (email : string): array } @enduml