diff --git a/docs/MainObjectDiagram.png b/docs/MainObjectDiagram.png
index ddfe2cbdc2..64cebf33ba 100644
Binary files a/docs/MainObjectDiagram.png and b/docs/MainObjectDiagram.png differ
diff --git a/docs/MainObjectDiagram.puml b/docs/MainObjectDiagram.puml
index 0ec4e75490..4fa7b7d081 100644
--- a/docs/MainObjectDiagram.puml
+++ b/docs/MainObjectDiagram.puml
@@ -7,14 +7,21 @@ object ":Main" as Main
object "in:Scanner" as Scanner
-object "records:Records" as Records {
+interface ":FileOperation" as FileOperation {
+ +initFile(filePath: String)
+ +autosave(filePath: String)
+ +retrieveData(filePath: String)
+}
+
+object "records:Records" as Records {
}
object "appointmentRecord:AppointmentRecord" as AppointmentRecord {
-
}
+
+
object ":FileHandler" as FileHandler
object "commandHandler:CommandHandler" as CommandHandler
@@ -27,12 +34,22 @@ Main --> AppointmentRecord
Main --> FileHandler
Main --> CommandHandler
Main --> Parser
+
CommandHandler --> Records
CommandHandler --> AppointmentRecord
+
Parser --> CommandHandler
Parser --> Records
Parser --> AppointmentRecord
+
FileHandler --> Records
FileHandler --> AppointmentRecord
+Records ..|> FileOperation : implements >
+AppointmentRecord ..|> FileOperation : implements >
+
+
+
+
+
@enduml
\ No newline at end of file