diff --git a/main.go b/main.go
index a6e7110e0430e0200399962aafd0cf5c85cf1a9b..afb7d6093c2103e7362b439eb61992add8df50c5 100644
--- a/main.go
+++ b/main.go
@@ -6,6 +6,7 @@ import (
 	"net/http"
 	"time"
 	"strings"
+	"strconv"
 )
 
 var serviceStartTime time.Time
@@ -73,7 +74,10 @@ type CountryInfo struct {
 	Borders    []string         `json:"borders"`
 	Population int              `json:"population"`
 	Flags Flags                `json:"flags"`
-	Cities []string             `json:"cities"`
+}
+
+type CityInfo struct {
+	Cities []string `json:"cities"`
 }
 
 
@@ -114,8 +118,43 @@ func getCountryDataByCode(countryCode string) (*CountryInfo, error) {
 	return &countries[0], nil
 }
 
+func getCitiesByCountry(countryName string) ([]string, error) {
+    url := fmt.Sprintf("https://countriesnow.space/api/v0.1/countries/cities/q?country=%s", countryName)
+    resp, err := http.Get(url)
+    if err != nil {
+        return nil, err
+    }
+    defer resp.Body.Close()
+
+    if resp.StatusCode != http.StatusOK {
+        return nil, fmt.Errorf("error retrieving cities, status code: %d", resp.StatusCode)
+    }
+
+    var responseBody map[string]interface{}
+    if err := json.NewDecoder(resp.Body).Decode(&responseBody); err != nil {
+        return nil, err
+    }
+
+
+    if cities, ok := responseBody["data"].([]interface{}); ok {
+        var cityList []string
+        for _, city := range cities {
+            if cityStr, ok := city.(string); ok {
+                cityList = append(cityList, cityStr)
+            }
+        }
+
+        // Hvis ingen byer er funnet, returner en feilmelding
+        if len(cityList) == 0 {
+            fmt.Println("No cities found in the response.")
+        }
+
+        return cityList, nil
+    }
+
+    return nil, fmt.Errorf("no cities found for country %s", countryName)
+}
 
-// Handler som kombinerer data fra begge API-er
 func countryInfoHandler(w http.ResponseWriter, r *http.Request) {
 	parts := strings.Split(r.URL.Path, "/")
 	if len(parts) < 5 {
@@ -124,37 +163,57 @@ func countryInfoHandler(w http.ResponseWriter, r *http.Request) {
 	}
 	countryCode := parts[4]
 
-	// Hent data fra begge API-er
+	// Hent landdata fra REST Countries API
 	country, err := getCountryDataByCode(countryCode)
 	if err != nil {
 		http.Error(w, err.Error(), http.StatusInternalServerError)
 		return
 	}
 
-	
+		// Hent antall byer som skal vises fra URL-parameteren (default til 10)
+	// F.eks. /countryinfo/v1/info/NO?cities=5
+	cityCount := 10 // Standardverdi
+	cityCountStr := r.URL.Query().Get("cities") // Hent "cities" parameteren
+	if cityCountStr != "" {
+		// Prøv å konvertere parameteren til et heltall
+		if count, err := strconv.Atoi(cityCountStr); err == nil && count > 0 {
+			cityCount = count
+		}
+	}
+
+	// Hent byene fra countriesnow API
+	cities, err := getCitiesByCountry(country.Name.Common)
+	if err != nil {
+		http.Error(w, err.Error(), http.StatusInternalServerError)
+		return
+	}
+
+	// Hvis det er flere enn det brukeren ønsker, begrens listen
+	if len(cities) > cityCount {
+		cities = cities[:cityCount]
+	}
 
+	// Feilsøking: Hvis ingen byer ble funnet
+	if len(cities) == 0 {
+		fmt.Printf("No cities found for %s\n", country.Name.Common)
+	}
 	// Bygg kombinert respons
 	response := CombinedInfo{
 		Name:       country.Name.Common,
-		Continents:     country.Continents,
+		Continents: country.Continents,
 		Population: country.Population,
 		Languages:  country.Languages,
 		Borders:    country.Borders,
 		Flags:      country.Flags.PNG,
 		Capital:    "",
-		Cities:     "",
+		Cities:     strings.Join(cities, ", "), // Legg til de 10 første byene som en kommaseparert liste
 	}
 
-
 	if len(country.Capital) > 0 {
 		response.Capital = country.Capital[0]
 	}
 
-	if len(country.Cities) > 0 {
-		response.Cities = country.Cities[0]
-	}
-
-
+	// Sett Content-Type til application/json
 	w.Header().Set("Content-Type", "application/json")
 	json.NewEncoder(w).Encode(response)
 }
@@ -182,8 +241,8 @@ func homeHandler(w http.ResponseWriter, r *http.Request) {
 		"endpoints": map[string]interface{}{
 			"Get Country Info": map[string]string{
 				"Description": "Get country details including cities, population, and more.",
-				"URL Format":         "http://localhost:8080/countryinfo/v1/info/{country_code}",
-				"Example":     "http://localhost:8080/countryinfo/v1/info/NO",
+				"URL Format":         "http://localhost:8080/countryinfo/v1/info/{country_code}{?limit=10}",
+				"Example":     "http://localhost:8080/countryinfo/v1/info/NO?cities=5",
 			},
 			"Get status info" : map[string]string{
 				"Description" : "Get information about the API statuses",