diff --git a/javascript/difference.js b/javascript/difference.js
index 6be0cadb9bc02f4e0619a5cf070c048b2db4a014..6b9f6d3774231022efd6460327791c97b30ddd52 100644
--- a/javascript/difference.js
+++ b/javascript/difference.js
@@ -6,14 +6,16 @@ function difference() {
     var name = document.getElementById("differenceName").value;
 
     // MÃ¥ konverteres fra feature collection til multipolygon:
-    var coords1 = featureCollectionToMultiPolygon(layer1);
-    var coords2 = featureCollectionToMultiPolygon(layer2);
-    
-    var multiPolygon1 = turf.multiPolygon(coords1);
-    var multiPolygon2 = turf.multiPolygon(coords2);
+    var multiPolygon1 = featureCollectionToMultiPolygon(layer1);
+    var multiPolygon2 = featureCollectionToMultiPolygon(layer2);
 
     try {
         var difference = turf.difference(multiPolygon1, multiPolygon2);
+        
+        if (isMultiPolygon(difference)) {
+            difference = multiPolygonToFeatureCollection(difference);
+        }
+        
         var newLayer = L.geoJSON(difference, {style: getStyle()});
         
         overlayMaps[name] = newLayer;
diff --git a/javascript/dissolve.js b/javascript/dissolve.js
index d96954c424ddd951633223f6e1941d4afbef6a98..b81f94cdb64fe9549ba76e6059c5a1b1eb702c2d 100644
--- a/javascript/dissolve.js
+++ b/javascript/dissolve.js
@@ -6,7 +6,7 @@ function dissolve() {
     try {
         var dissolved = turf.dissolve(layer);
         var newLayer = L.geoJSON(dissolved, {style: getStyle()});
-
+        
         overlayMaps[name] = newLayer;
 
         updateSidebar();
diff --git a/javascript/intersect.js b/javascript/intersect.js
index d403852dd0c4328fda439aa7fc153cb543d22557..d04e02df4c5fdf6d683b0ddcdc23b517ce2bded8 100644
--- a/javascript/intersect.js
+++ b/javascript/intersect.js
@@ -6,14 +6,16 @@ function intersection() {
     var name = document.getElementById("intersectionName").value;
     
     // MÃ¥ konverteres fra feature collection til multipolygon:
-    var coords1 = featureCollectionToMultiPolygon(layer1);
-    var coords2 = featureCollectionToMultiPolygon(layer2);
-    
-    var multiPolygon1 = turf.multiPolygon(coords1);
-    var multiPolygon2 = turf.multiPolygon(coords2);
+    var multiPolygon1 = featureCollectionToMultiPolygon(layer1);
+    var multiPolygon2 = featureCollectionToMultiPolygon(layer2);
     
     try {
         var intersection = turf.intersect(multiPolygon1, multiPolygon2);
+        
+        if (isMultiPolygon(intersection)) {
+            intersection = multiPolygonToFeatureCollection(intersection);
+        }
+
         var newLayer = new L.GeoJSON(intersection, {style: getStyle()});
         
         overlayMaps[name] = newLayer;
diff --git a/javascript/mapChange.js b/javascript/mapChange.js
index 229307115f9e236237be68aa13571f5b654a7d6b..2d0d5c1a58bd3d401006eebb81419c4776230780 100644
--- a/javascript/mapChange.js
+++ b/javascript/mapChange.js
@@ -1,234 +1,107 @@
 // Variabler:
 
 var points = {
-    "type": "FeatureCollection",
-    "features": [
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4044907, 63.4173049]
-            },
-            "properties": {
-              "name": "NTNU Gløshaugen"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4696324, 63.4079572]
-            },
-            "properties": {
-              "name": "NTNU Dragvoll"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.388918, 63.4203714]
-            },
-            "properties": {
-              "name": "NTNU Øya"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4347967, 63.4235678]
-            },
-            "properties": {
-              "name": "NTNU Tyholt"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4143153, 63.433756]
-            },
-            "properties": {
-              "name": "NTNU Solsiden"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4336351, 63.4138729]
-            },
-            "properties": {
-              "name": "NTNU Moholt"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4032871, 63.4340888]
-            },
-            "properties": {
-              "name": "NTNU Olavskvartalet"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4071882, 63.4107064]
-            },
-            "properties": {
-              "name": "NTNU Lerkendal og Valgrinda"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.3861107, 63.4288662]
-            },
-            "properties": {
-              "name": "NTNU Kalvskinnet"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4540302, 63.4473022]
-            },
-            "properties": {
-              "name": "NTNU Ringve"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.3483128, 63.4415347]
-            },
-            "properties": {
-              "name": "NTNU Heggdalen"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4492127, 63.4521411]
-            },
-            "properties": {
-              "name": "NTNU Østmarka"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.3981586, 63.4373727]
-            },
-            "properties": {
-              "name": "NTNU Brattørkaia"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.3992594, 63.4152944]
-            },
-            "properties": {
-              "name": "NTNU Elgeseter"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4837531, 63.4393659]
-            },
-            "properties": {
-              "name": "NTNU Rotvoll"
-            }
-        },
-        {
-            "type": "Feature",
-            "geometry": {
-              "type": "Point",
-              "coordinates": [10.4660445, 63.42338]
-            },
-            "properties": {
-              "name": "NTNU Tunga"
-            }
-        }
-    ]
+  "type": "FeatureCollection",
+  "features": [
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4044907, 63.4173049]}, "properties": {"category": "Universitet", "name": "NTNU Gløshaugen"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4696324, 63.4079572]}, "properties": {"category": "Universitet", "name": "NTNU Dragvoll"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.388918, 63.4203714]}, "properties": {"category": "Universitet", "name": "NTNU Øya"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4347967, 63.4235678]}, "properties": {"category": "Universitet", "name": "NTNU Tyholt"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4143153, 63.433756]}, "properties": {"category": "Universitet", "name": "NTNU Solsiden"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4336351, 63.4138729]}, "properties": {"category": "Universitet", "name": "NTNU Moholt"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4032871, 63.4340888]}, "properties": {"category": "Universitet", "name": "NTNU Olavskvartalet"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4071882, 63.4107064]}, "properties": {"category": "Universitet", "name": "NTNU Lerkendal og Valgrinda"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3861107, 63.4288662]}, "properties": {"category": "Universitet", "name": "NTNU Kalvskinnet"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4540302, 63.4473022]}, "properties": {"category": "Universitet", "name": "NTNU Ringve"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3483128, 63.4415347]}, "properties": {"category": "Universitet", "name": "NTNU Heggdalen"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4492127, 63.4521411]}, "properties": {"category": "Universitet", "name": "NTNU Østmarka"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3981586, 63.4373727]}, "properties": {"category": "Universitet", "name": "NTNU Brattørkaia"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3992594, 63.4152944]}, "properties": {"category": "Universitet", "name": "NTNU Elgeseter"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4837531, 63.4393659]}, "properties": {"category": "Universitet", "name": "NTNU Rotvoll"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4660445, 63.42338]}, "properties": {"category": "Universitet", "name": "NTNU Tunga"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4176387, 63.4141732]}, "properties": {"category": "Studentby", "name": "Berg Studentby"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4301549, 63.4110984]}, "properties": {"category": "Studentby", "name": "Moholt Studentby"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4372857, 63.3989126]}, "properties": {"category": "Studentby", "name": "Steinan Studentby"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3918823, 63.420511]}, "properties": {"category": "Studentby", "name": "Bloksberg Studentby"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4382451, 63.4116778]}, "properties": {"category": "Studentby", "name": "Karinelund Studentby"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4945864, 63.4211031]}, "properties": {"category": "Studentby", "name": "Jakobsliveien 55"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.396918, 63.4226982]}, "properties": {"category": "Studentby", "name": "Klostergata 18"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3963873, 63.4227505]}, "properties": {"category": "Studentby", "name": "Klostergata 20"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3891634, 63.4232409]}, "properties": {"category": "Studentby", "name": "Klostergata 56"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4126211, 63.4147073]}, "properties": {"category": "Studentby", "name": "Nedre Berg Studentby"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3973319, 63.418334]}, "properties": {"category": "Studentby", "name": "Magnus den godes gate 2"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4037983, 63.4215247]}, "properties": {"category": "Studentby", "name": "Nedre Singsakerslette"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3890993, 63.4276236]}, "properties": {"category": "Studentby", "name": "Sverresgate 8"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4122453, 63.4337663]}, "properties": {"category": "Studentby", "name": "Nedre elvehavn Studentby"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.3982518, 63.4163341]}, "properties": {"category": "Studentby", "name": "Teknobyen Studentboliger"}},
+    {"type": "Feature", "geometry": {"type": "Point", "coordinates": [10.4003657, 63.4117822]}, "properties": {"category": "Studentby", "name": "Lerkendal Studentby"}}
+  ]
 };
 
 var m = "m1"; // Hvilket kart en bruker
 var layersOnMap = []; // Hvilke kartlag som var på før en byttet til "m2"
-var NTNU_points = L.geoJSON(points, {style: {color: "blue"}}).bindPopup(function(point) {return point.feature.properties.name;})
+
+var NTNU_points = L.geoJSON(points).bindPopup(function(point) {return "<b>" + point.feature.properties.category + "</b>" + "<br>" + point.feature.properties.name;})
 
 // Bytter layout på nettsiden ved kartbytte
 
 function changeMap() {
-    
-    // Hvis en box allerede er åpen, må denne lukkes først:
-    
-    if (boolskBox) {
-        closeBox(box);
-    }
+  
+  // Hvis en box allerede er åpen, må denne lukkes først:
+  
+  if (boolskBox) {
+    closeBox(box);
+  }
 
-    // Avhengig av hvilket kart en allerede har oppe, bytter en til motsatt status:
+  // Avhengig av hvilket kart en allerede har oppe, bytter en til motsatt status:
 
-    if (m == "m1") {
-        m = "m2";
-        
-        // Endrer knappene i menyen:
-        document.getElementById("buttons1").style.display = "none";
-        document.getElementById("buttons2").style.display = "flex";
+  if (m == "m1") {
+    m = "m2";
+    
+    // Endrer knappene i menyen:
+    document.getElementById("buttons1").style.display = "none";
+    document.getElementById("buttons2").style.display = "flex";
 
-        // Endrer knappene nedrest til høyre i kartet:
-        document.getElementById("sidebarOpener").style.display = "none";
-        document.getElementById("mapChanger").style.marginLeft = "0";
+    // Endrer knappene nedrest til høyre i kartet:
+    document.getElementById("sidebarOpener").style.display = "none";
+    document.getElementById("mapChanger").style.marginLeft = "0";
 
-        // Skjuler synlige kartlag i kartet:
-        for (key in overlayMaps) {
-            var layer = overlayMaps[key];
-            if (map.hasLayer(layer)) {
-                handleLayer(key);
-                layersOnMap.push(key);
-            }
-        }
+    // Skjuler synlige kartlag i kartet:
+    for (key in overlayMaps) {
+      var layer = overlayMaps[key];
+      if (map.hasLayer(layer)) {
+        handleLayer(key);
+        layersOnMap.push(key);
+      }
+    }
 
-        // Legger til nye punkt-markører i kartet:
-        NTNU_points.addTo(map);
-    } else if (m == "m2") {
-        m = "m1";
+    // Legger til nye punkt-markører i kartet:
+    NTNU_points.addTo(map);
+  } else if (m == "m2") {
+    m = "m1";
 
-        // Endrer knappene i menyen:
-        document.getElementById("buttons1").style.display = "flex";
-        document.getElementById("buttons2").style.display = "none";
+    // Endrer knappene i menyen:
+    document.getElementById("buttons1").style.display = "flex";
+    document.getElementById("buttons2").style.display = "none";
 
-        // Endrer knappene nedrest til høyre i kartet:
-        document.getElementById("sidebarOpener").style.display = "block";
-        document.getElementById("mapChanger").style.marginLeft = "8vh";
+    // Endrer knappene nedrest til høyre i kartet:
+    document.getElementById("sidebarOpener").style.display = "block";
+    document.getElementById("mapChanger").style.marginLeft = "8vh";
 
-        // Fjerner punkt-markørene og eventuelle voronoi- og TIN-diagram fra kartet:
-        if (map.hasLayer(NTNU_points)) {
-            map.removeLayer(NTNU_points);
-        }
-        if (isVoronoi) {
-            voronoi();
-        }
-        if (isTIN) {
-            TIN();
-        }
+    // Fjerner punkt-markørene og eventuelle voronoi- og TIN-diagram fra kartet:
+    if (map.hasLayer(NTNU_points)) {
+        map.removeLayer(NTNU_points);
+    }
+    if (isVoronoi) {
+        voronoi();
+    }
+    if (isTIN) {
+        TIN();
+    }
 
-        // Legger til kartlagene som lå i kartet før en byttet kartmodus:
-        while (layersOnMap.length > 0) {
-            handleLayer(layersOnMap.shift());
-        }
+    // Legger til kartlagene som lå i kartet før en byttet kartmodus:
+    while (layersOnMap.length > 0) {
+        handleLayer(layersOnMap.shift());
     }
+  }
 }
diff --git a/javascript/turfFormatConverter.js b/javascript/turfFormatConverter.js
index 00f6c7ccca40e625e95a25c10fa440e1aefc9375..2b2e9d6bd07d7bd04a26dccfe4f74f0f3c9a7ca9 100644
--- a/javascript/turfFormatConverter.js
+++ b/javascript/turfFormatConverter.js
@@ -11,22 +11,25 @@ function featureCollectionToMultiPolygon(layer) { // layer er her et GeoJSON-lag
         for (var i = 0; i < features.length; i++) {
             coords.push(features[i]["geometry"]["coordinates"]);
         }
-        return coords;
+        return turf.multiPolygon(coords);
     }
 }
 
-/*
+function isMultiPolygon(layer) {
+    if (layer["geometry"]["type"] == "MultiPolygon") {
+        return true;
+    }
+    return false;
+}
+
 function multiPolygonToFeatureCollection(layer) {
-    if (layer["type"] == "MultiPolygon") {
-        var features = [];
-        for (var i = 0; i < layer["coordinates"].length; i++) {
-            var geometry = {
-                "type": "Polygon",
-                "coordinates": layer["geometry"][i]
-            }
-            coords.push(geometry);
-        }
-        return turf.featureCollection(features);
+    var features = [];
+    for (var i = 0; i < layer["geometry"]["coordinates"].length; i++) {
+        var geometry = {
+            "type": "Polygon",
+            "coordinates": layer["geometry"]["coordinates"][i]
+        };
+        features.push(turf.feature(geometry));
     }
+    return turf.featureCollection(features);
 }
-*/
diff --git a/javascript/union.js b/javascript/union.js
index 0237cc49eb617e455c033f18bdf1e567a314996a..1e38d208fe5b734cc4dc5653875461a6a431067d 100644
--- a/javascript/union.js
+++ b/javascript/union.js
@@ -14,6 +14,11 @@ function union() {
 
     try {
         var union = turf.union(multiPolygon1, multiPolygon2);
+
+        if (isMultiPolygon(union)) {
+            union = multiPolygonToFeatureCollection(union);
+        }
+
         var newLayer = L.geoJSON(union, {style: getStyle()});
 
         overlayMaps[name] = newLayer;