diff --git a/app/lib/pages/marker_handler/get_markers.dart b/app/lib/pages/marker_handler/get_markers.dart
index ebc50274eef2ba7278b48028a13a2132150a0b79..cb448d914fd67a9a305e3064384b1b0de0eacd54 100644
--- a/app/lib/pages/marker_handler/get_markers.dart
+++ b/app/lib/pages/marker_handler/get_markers.dart
@@ -7,12 +7,16 @@ import 'marker_data.dart';
 // fetchMarkerTemplate requests all marker data from the server
 Future<List<Measurement>> fetchMarkerData() async {
   try {
+    // Custom HTTP client
     HttpClient client = HttpClient()
-      ..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
+      ..badCertificateCallback = // NB: temporary disable SSL certificate validation
+          (X509Certificate cert, String host, int port) => true;
 
+    // Request makers from API and wait for response
     var request = await client.getUrl(Uri.parse(serverURI + mapEndpoint));
     var response = await request.close();
 
+    // Attempt to parse json if request is ok
     if (response.statusCode == 200) {
       var responseBody = await response.transform(utf8.decoder).join();
 
@@ -22,10 +26,10 @@ Future<List<Measurement>> fetchMarkerData() async {
 
     } else {
       print('Request failed with status: ${response.statusCode}');
-      throw Exception('Failed to parse marker data');
+      throw Exception('failed to parse marker data');
     }
   } catch (e) {
-    print('Error: $e');
-    throw Exception('failed to connect to the server. Please check your network connection');
+    print('Request failed with error ${e}');
+    throw Exception('failed to connect to the server. Please check your network connection: ${e}');
   }
 }
diff --git a/app/lib/pages/marker_handler/marker_data.dart b/app/lib/pages/marker_handler/marker_data.dart
index fe0d4060750cbceda42eac2f964a07d34482cec9..e6a86af121a8ab9291d54cb7ba081c0846ab4f6e 100644
--- a/app/lib/pages/marker_handler/marker_data.dart
+++ b/app/lib/pages/marker_handler/marker_data.dart
@@ -1,6 +1,8 @@
+import 'dart:core';
+
 class Measurement {
   int measurementID;
-  int timeMeasured;
+  DateTime timeMeasured;
   Sensor sensor;
   List<Data> dataList;
   List<Corner> cornerList;
@@ -18,7 +20,7 @@ class Measurement {
   factory Measurement.Measurement(Map<String, dynamic> json) {
     return Measurement(
       measurementID: json['MeasurementID'],
-      timeMeasured: json['TimeMeasured'],
+      timeMeasured: DateTime.parse(json['TimeMeasured']),
       sensor: Sensor.fromJson(json['Sensor']),
       dataList: (json['Data'] as List<dynamic>)
           .map((data) => Data.fromJson(data))
diff --git a/app/lib/pages/widgets/map_widget.dart b/app/lib/pages/widgets/map_widget.dart
index dc92f6de4dedc21ec21b654b1a911fab13e9a952..b8708dc6836b53cd02838f4197cb6bce54eef85b 100644
--- a/app/lib/pages/widgets/map_widget.dart
+++ b/app/lib/pages/widgets/map_widget.dart
@@ -20,6 +20,7 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
 
   Measurement? selectedMarker;
   bool isMinimized = true; // Quick view box state tacker
+  bool satLayer = false; // Satellite layer visibility tracker
 
   @override
   Widget build(BuildContext context) {
@@ -55,7 +56,7 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
                           polygons: widget.markerList.map((Measurement measurement) {
                             return Polygon(
                               points: measurement.cornerList.map((Corner corner) {
-                                // Map corners to LatLng objects
+                                // Map corner coordinates to LatLng objects
                                 return LatLng(corner.latitude, corner.longitude);
                               }).toList(),
                               /*onTap: () {
@@ -112,6 +113,25 @@ class _MapContainerWidgetState extends State<MapContainerWidget> {
                       ),
                     ),
                   ),
+                  Positioned(
+                    top: 10,
+                    right: 10,
+                    child: GestureDetector(
+                      onTap: () {
+                        setState(() {
+                          satLayer = !satLayer; // Toggle satellite layer state on press
+                        });
+                      },
+                      child: Container(
+                        padding: const EdgeInsets.all(8),
+                        decoration: satLayer ? const BoxDecoration( // Add decoration only when pressed
+                          shape: BoxShape.circle,
+                          color: Colors.blue,
+                        ) : null,
+                        child: const Icon(Icons.satellite_alt_outlined),
+                      ),
+                    ),
+                  ),
                 ],
               ),
             ),
diff --git a/server/APIs/__pycache__/get_weather.cpython-311.pyc b/server/APIs/__pycache__/get_weather.cpython-311.pyc
index c48ae510b8dcd144dfcf8a877ec949cbd66f1107..ab855e0b7f401aed51ed98d992a3903f0e12b059 100644
Binary files a/server/APIs/__pycache__/get_weather.cpython-311.pyc and b/server/APIs/__pycache__/get_weather.cpython-311.pyc differ
diff --git a/server/map/__pycache__/get_markers.cpython-311.pyc b/server/map/__pycache__/get_markers.cpython-311.pyc
index 46facb818c457bb01157ffbd7d0c285473aad2e6..d1b483af8869c5a8987667bd35afdf5e83010ab2 100644
Binary files a/server/map/__pycache__/get_markers.cpython-311.pyc and b/server/map/__pycache__/get_markers.cpython-311.pyc differ