diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index df406ed589e..5ebf54dcb26 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -117,12 +117,14 @@ How the parsing works:
### Model component
**API** : [`Model.java`](https://github.com/AY2324S1-CS2103T-T13-0/tp/blob/master/src/main/java/seedu/address/model/Model.java)
-
+
The `Model` component,
-* stores the module plan data i.e., all `Module` objects (which are contained in a `UniqueModuleList` object).
+* stores the module plan of each semester i.e., all `ModulePlanSemester` in one `ModulePlanSemesterList`.
+* * stores the module plan data i.e., all `Module` objects (which are contained in a `UniqueModuleList` object).
+* each module plan of a semester contains a `Semester` and a `Year` for identification and stores a `UniqueModuleList`.
* stores the currently 'selected' `Module` objects (e.g., results of a search query) as a separate _filtered_ list which is exposed to outsiders as an unmodifiable `ObservableList` that can be 'observed' e.g. the UI can be bound to this list so that the UI automatically updates when the data in the list change.
* 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)
diff --git a/docs/ModelClassDiagram/Model.png b/docs/ModelClassDiagram/Model.png
new file mode 100644
index 00000000000..55cea1b4e71
Binary files /dev/null and b/docs/ModelClassDiagram/Model.png differ
diff --git a/docs/diagrams/ModelClassDiagram.png b/docs/diagrams/ModelClassDiagram.png
new file mode 100644
index 00000000000..eeb7f7bd537
Binary files /dev/null and b/docs/diagrams/ModelClassDiagram.png differ
diff --git a/src/main/java/seedu/address/model/moduleplan/ModulePlan.java b/src/main/java/seedu/address/model/moduleplan/ModulePlan.java
index 232b4f74d03..dd373dc9a0f 100644
--- a/src/main/java/seedu/address/model/moduleplan/ModulePlan.java
+++ b/src/main/java/seedu/address/model/moduleplan/ModulePlan.java
@@ -31,7 +31,7 @@ public class ModulePlan implements ReadOnlyModulePlan {
public ModulePlan() {}
/**
- * Creates an AddressBook using the Persons in the {@code toBeCopied}
+ * Creates an ModulePlan using the Modules in the {@code toBeCopied}
*/
public ModulePlan(ReadOnlyModulePlan toBeCopied) {
this();
@@ -42,7 +42,7 @@ public ModulePlan(ReadOnlyModulePlan toBeCopied) {
/**
- * Resets the existing data of this {@code AddressBook} with {@code newData}.
+ * Resets the existing data of this {@code ModulePlan} with {@code newData}.
*/
public void resetData(ReadOnlyModulePlan newData) {
requireNonNull(newData);