updated uml class diagram