diff --git a/app/assets/icons/marker.png b/app/assets/icons/marker.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9d6980c6ba0227597af40e6235257800076f17e
Binary files /dev/null and b/app/assets/icons/marker.png differ
diff --git a/app/lib/main.dart b/app/lib/main.dart
index 91f6c2243d5289e59a1f3cf7f7110ec8d128716e..db05f28bc16c09e9fa51ff863c6756ea31b87290 100644
--- a/app/lib/main.dart
+++ b/app/lib/main.dart
@@ -151,22 +151,29 @@ class _DefaultPageState extends State<DefaultPage> {
                         urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
                         subdomains: const ['a', 'b', 'c'],
                       ),
-                    MarkerLayer( // Dynamically allocate markers based on a list
-                      markers: markerList
-                          .map(
-                            (MarkerData markerData) => Marker(
+                    MarkerLayer(
+                      // Dynamically allocate markers based on a list
+                      markers: markerList.map((MarkerData markerData) {
+                        return Marker(
                           width: markerData.size,
                           height: markerData.size,
                           point: markerData.location,
-                          builder: (ctx) => Icon(
-                            Icons.location_on,
-                            color: markerData.color,
-                            size: markerData.size,
+                          builder: (ctx) => GestureDetector(
+                            onTap: () {
+                              // NB: temporary print
+                              print('Icon tapped');
+                              // NB: trigger function to add contents to the next box
+                            },
+                            child: Icon(
+                              Icons.circle,
+                              color: markerData.color,
+                              size: markerData.size,
+                            ),
                           ),
-                        ),
-                      )
-                          .toList(),
+                        );
+                      }).toList(),
                     ),
+
                   ],
                 ),
               ),
diff --git a/app/pubspec.yaml b/app/pubspec.yaml
index 7d385a53bf526fef8a336ccb16d1bc9e5726088b..35f346897616228a5c3b33ccbc4b5fc1f3a11d4b 100644
--- a/app/pubspec.yaml
+++ b/app/pubspec.yaml
@@ -22,3 +22,6 @@ dev_dependencies:
 
 flutter:
   uses-material-design: true
+  assets:
+      - assets/icons/marker.png
+
diff --git a/server/main.py b/server/main.py
index 97253949bb348a70b72262b5eb0e1c6a663edd7c..6821170123cc7ab68ae6cfcc01acd9df8680eddd 100644
--- a/server/main.py
+++ b/server/main.py
@@ -31,13 +31,13 @@ class IceHTTP(BaseHTTPRequestHandler):
             self.end_headers()
             self.wfile.write(b"Root path hit!")
         elif self.path == '/update_map':
-            # Send the response with a status code (e.g., 200 for success)
-            self.send_response(200)
+            markers_data, resp_code = get_markers()
+
+            self.send_response(resp_code)
             self.send_header("Content-type", "application/json")
             self.end_headers()
 
             # Write the JSON data directly to the response
-            markers_data = get_markers()
             self.wfile.write(markers_data.encode('utf-8'))
 
         elif self.path == '/test_endpoint':
diff --git a/server/map/__pycache__/get_markers.cpython-311.pyc b/server/map/__pycache__/get_markers.cpython-311.pyc
index 584c67ac6dd58b5d3fbcc9f35fa30569e4a48c80..eaac436b90b9b1be5369c74580ec0a458bd2a1be 100644
Binary files a/server/map/__pycache__/get_markers.cpython-311.pyc and b/server/map/__pycache__/get_markers.cpython-311.pyc differ
diff --git a/server/map/get_markers.py b/server/map/get_markers.py
index f59ca2b4941c28df79d0450d713596da3c95e208..2803a727db05ee73c073ddceb17a062a32207b3e 100644
--- a/server/map/get_markers.py
+++ b/server/map/get_markers.py
@@ -6,13 +6,19 @@ sys.path.append(parent_dir)
 from data_structs import MarkerTemplate
 from flask import json
 
-def get_markers():
-    testData = [
-        MarkerTemplate(latitude=60.7266, longitude=10.9771, size=50.0, color='blue'),
-        MarkerTemplate(latitude=60.8366, longitude=10.8171, size=70.0, color='red'),
-        MarkerTemplate(latitude=60.7366, longitude=10.8471, size=60.0, color='green'),
-    ]
 
-    # Return jsonified marker list
-    return json.dumps([marker.to_dict() for marker in testData])
+# get_markers parses a list of MarkerTemplate objects to json, and returns either a successfully
+# parsed json object with status code 200, or and error message and status code 501
+def get_markers():
+    try:
+        testData = [
+            MarkerTemplate(latitude=60.7266, longitude=10.9771, size=30.0, color='blue'),
+            MarkerTemplate(latitude=60.8366, longitude=10.8171, size=20.0, color='red'),
+            MarkerTemplate(latitude=60.7366, longitude=10.8471, size=10.0, color='green'),
+        ]
+        
+        return json.dumps([marker.to_dict() for marker in testData]), 200
+    
+    except Exception as e:
+        return e, 500