diff --git a/README.md b/README.md
index 6cbd861e00ac210742428e8bf5cfcffab62194c1..f50e4f5c319bc869999fe04dc0de5a56c6abfe7d 100644
--- a/README.md
+++ b/README.md
@@ -67,17 +67,17 @@ You can install Postman via this website: https://www.postman.com/downloads/
     -   [x] Commit: `Implement add function in Notification repository.`
     -   [x] Commit: `Implement list_all_as_string function in Notification repository.`
     -   [x] Write answers of your learning module's "Reflection Subscriber-1" questions in this README.
--   **STAGE 3: Implement services and controllers**
-    -   [ ] Commit: `Create Notification service struct skeleton.`
-    -   [ ] Commit: `Implement subscribe function in Notification service.`
-    -   [ ] Commit: `Implement subscribe function in Notification controller.`
-    -   [ ] Commit: `Implement unsubscribe function in Notification service.`
-    -   [ ] Commit: `Implement unsubscribe function in Notification controller.`
-    -   [ ] Commit: `Implement receive_notification function in Notification service.`
-    -   [ ] Commit: `Implement receive function in Notification controller.`
-    -   [ ] Commit: `Implement list_messages function in Notification service.`
-    -   [ ] Commit: `Implement list function in Notification controller.`
-    -   [ ] Write answers of your learning module's "Reflection Subscriber-2" questions in this README.
+-   **STAGE 2: Implement services and controllers**
+    -   [x] Commit: `Create Notification service struct skeleton.`
+    -   [x] Commit: `Implement subscribe function in Notification service.`
+    -   [x] Commit: `Implement subscribe function in Notification controller.`
+    -   [x] Commit: `Implement unsubscribe function in Notification service.`
+    -   [x] Commit: `Implement unsubscribe function in Notification controller.`
+    -   [x] Commit: `Implement receive_notification function in Notification service.`
+    -   [x] Commit: `Implement receive function in Notification controller.`
+    -   [x] Commit: `Implement list_messages function in Notification service.`
+    -   [x] Commit: `Implement list function in Notification controller.`
+    -   [x] Write answers of your learning module's "Reflection Subscriber-2" questions in this README.
 
 ## Your Reflections
 This is the place for you to write reflections:
@@ -97,3 +97,17 @@ Rust doesn't allow direct mutation of static variables (unlike Java where we can
 This is why we need the lazy_static library to define Vec and DashMap as static variables - it provides the necessary thread-safe wrapper around these static collections. Unlike Java, which leaves thread safety as the developer's responsibility, Rust's design philosophy prioritizes preventing data races and other concurrency issues at the language level, requiring explicit synchronization mechanisms for shared mutable state.
 
 #### Reflection Subscriber-2
+
+> 1. Have you explored things outside of the steps in the tutorial, for example: src/lib.rs? If not, explain why you did not do so. If yes, explain things that you have learned from those other parts of code.
+
+Yes, I've explored beyond the basic tutorial steps. In my exploration of src/lib.rs, I discovered several helpful utility functions, including those that assist with loading information from .env files and functions for creating custom error formats. This file also contains the Rocket app configurations.
+Additionally, I've researched the documentation for RwLock and DashMap to better understand their implementation. From the documentation, I learned that RwLock is a reader-writer lock that permits multiple concurrent readers or at most one writer at any given time. DashMap, meanwhile, functions as a concurrent map allowing multiple readers and writers to access the map simultaneously without blocking each other.
+
+> 2. Since you have completed the tutorial by now and have tried to test your notification system by spawning multiple instances of Receiver, explain how Observer pattern eases you to plug in more subscribers. How about spawning more than one instance of Main app, will it still be easy enough to add to the system?
+
+The Observer pattern greatly simplifies adding more subscribers because it eliminates the need to modify the publisher when introducing new subscribers. The publisher only needs to know that subscribers implement the Observer interface, not their concrete implementations, making subscriber addition straightforward.
+However, scaling by adding multiple instances of the Main app presents more challenges. For example, with Publishers 1 and 2, if Subscriber 1 is only subscribed to Publisher 1, we would need additional logic to ensure Subscriber 1 also receives notifications when Publisher 2's state changes. This increases complexity and could potentially introduce synchronization issues across multiple publisher instances.
+
+> 3. Have you tried to make your own Tests, or enhance documentation on your Postman collection? If you have tried those features, tell us whether it is useful for your work (it can be your tutorial work or your Group Project).
+
+I've enhanced my Postman collection with custom tests to validate the endpoints I created. These tests were particularly useful for verifying multiple subscriptions to the publisher app and testing the subscription system's ability to listen for multiple product types. I found this testing approach valuable as it allowed me to confirm that my endpoints were functioning correctly and returning the expected data. This testing methodology helped identify potential issues before they became problematic in the implementation.
\ No newline at end of file