diff --git a/handlers/handlers.go b/handlers/handlers.go
index 47d87f8c2f6373d503f6801a9c80214e4710eea4..ecb24ac0ae97749333c0db987d87efbf333573b0 100644
--- a/handlers/handlers.go
+++ b/handlers/handlers.go
@@ -109,14 +109,42 @@ func ReadershipHandler(w http.ResponseWriter, r *http.Request) {
 }
 
 func StatusHandler(w http.ResponseWriter, r *http.Request) {
-    status := models.ServiceStatus{
-        GutendexAPI:   services.CheckServiceAvailability("http://129.241.150.113:8000/books/"),
-        LanguageAPI:   services.CheckServiceAvailability("http://129.241.150.113:3000/language2countries/"),
-        CountriesAPI:  services.CheckServiceAvailability("http://129.241.150.113:8080/v3.1/"),
-        Version:       "v1",
-        Uptime:        services.GetUptime(), // Implement GetUptime in services package
+    // Initialize a variable to track the start time of the service if not already done
+    // This should ideally be done at the application start, not here
+    // Assuming services.ServiceStartTime is the time when your service started
+
+    // Define the URLs for the services to check
+    gutendexURL := "http://129.241.150.113:8000/books/"
+    languageURL := "http://129.241.150.113:3000/language2countries/"
+    countriesURL := "http://129.241.150.113:8080/v3.1/"
+
+    // Use the CheckServiceAvailability function to get the status codes
+    gutendexStatus := services.CheckServiceAvailability(gutendexURL)
+    languageStatus := services.CheckServiceAvailability(languageURL)
+    countriesStatus := services.CheckServiceAvailability(countriesURL)
+
+    // Calculate uptime
+    uptime := int64(time.Since(services.ServiceStartTime).Seconds())
+
+    // Create a response struct
+    statusResponse := struct {
+        GutendexAPI  int   `json:"gutendexapi"`
+        LanguageAPI  int   `json:"languageapi"`
+        CountriesAPI int   `json:"countriesapi"`
+        Version      string `json:"version"`
+        Uptime       int64  `json:"uptime"`
+    }{
+        GutendexAPI:  gutendexStatus,
+        LanguageAPI:  languageStatus,
+        CountriesAPI: countriesStatus,
+        Version:      "v1",
+        Uptime:       uptime,
     }
 
+    // Set the header and encode the response as JSON
     w.Header().Set("Content-Type", "application/json")
-    json.NewEncoder(w).Encode(status)
+    if err := json.NewEncoder(w).Encode(statusResponse); err != nil {
+        http.Error(w, err.Error(), http.StatusInternalServerError)
+        return
+    }
 }