diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index e1632fbae25..b587c18c0d3 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -132,12 +132,6 @@ and all associated `Appointment` objects (which are contained in a `DisjointAppo
* stores a `UserPref` object that represents the user’s preferences. This is exposed to the outside as a `ReadOnlyUserPref` objects.
* does not depend on any of the other three components (as the `Model` represents data entities of the domain, they should make sense on their own without depending on other components)
-
:information_source: **Note:** An alternative (arguably, a more OOP) model is given below. It has a `Tag` list in the `AddressBook`, which `Person` references. This allows `AddressBook` to only require one `Tag` object per unique tag, instead of each `Person` needing their own `Tag` objects.
-
-
-
-
-
### Storage component
diff --git a/docs/diagrams/ModelClassDiagram.puml b/docs/diagrams/ModelClassDiagram.puml
index c387dc588bb..20469001469 100644
--- a/docs/diagrams/ModelClassDiagram.puml
+++ b/docs/diagrams/ModelClassDiagram.puml
@@ -23,6 +23,8 @@ Class Phone
Class Tag
Class Appointment
Class Note
+class Subject
+class Level
Class I #FFFFFF
}
@@ -48,7 +50,9 @@ Person *--> Phone
Person *--> Email
Person *--> Address
Person *--> "*" Tag
-Person *--> "*" Note
+Person *--> Note
+Person *--> Level
+Person *--> "0...4" Subject
Person -[hidden]up--> I
UniquePersonList -[hidden]right-> I
@@ -61,6 +65,8 @@ Name -[hidden]right-> Phone
Phone -[hidden]right-> Address
Address -[hidden]right-> Email
Email -[hidden]right-> Tag
+Tag -[hidden]right-> Subject
+Subject -[hidden]right-> Level
ModelManager --> "~* filtered" Person
@enduml
diff --git a/docs/images/ModelClassDiagram.png b/docs/images/ModelClassDiagram.png
index d0a5071f213..8c327279236 100644
Binary files a/docs/images/ModelClassDiagram.png and b/docs/images/ModelClassDiagram.png differ