diff --git a/ChangeLog b/ChangeLog
index 0630a3a..1653c1c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+1.0.7-SNAPSHOT
+
+- update libraries including fcs-simple-endpoint 1.8.0
+- add Dockerfile
+- add institution
+- improve landingPageURI with corpus query
+
 1.0.6-SNAPSHOT
 
 2022-10-05
diff --git a/src/main/java/de/ids_mannheim/korap/sru/KorapEndpointDescription.java b/src/main/java/de/ids_mannheim/korap/sru/KorapEndpointDescription.java
index a3b9952..49f769e 100644
--- a/src/main/java/de/ids_mannheim/korap/sru/KorapEndpointDescription.java
+++ b/src/main/java/de/ids_mannheim/korap/sru/KorapEndpointDescription.java
@@ -134,7 +134,7 @@
             description.put("de", r.getDescription());
 
 			ResourceInfo ri = new ResourceInfo(r.getResourceId(), r.getTitles(),
-					description, null, KorapSRU.korapWebUri,
+					description, null, r.getLandingPage(),
 					Arrays.asList(r.getLanguages()),
 					AvailabilityRestriction.NONE, dataviews,
 					this.getSupportedLayers(), null);
diff --git a/src/main/java/de/ids_mannheim/korap/sru/KorapResource.java b/src/main/java/de/ids_mannheim/korap/sru/KorapResource.java
index ef22102..43eee16 100644
--- a/src/main/java/de/ids_mannheim/korap/sru/KorapResource.java
+++ b/src/main/java/de/ids_mannheim/korap/sru/KorapResource.java
@@ -2,6 +2,9 @@
 
 import java.util.Map;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class KorapResource {
 
     private String resourceId;
@@ -9,6 +12,9 @@
     private String description;
     private String[] languages;
     private Map<Integer, String> layers;
+    private String institution;
+    private String landingPage;
+    
     public String getResourceId () {
         return resourceId;
     }
@@ -39,5 +45,17 @@
     public void setLayers (Map<Integer, String> layers) {
         this.layers = layers;
     }
+	public String getInstitution () {
+		return institution;
+	}
+	public void setInstitution (String institution) {
+		this.institution = institution;
+	}
+	public String getLandingPage () {
+		return landingPage;
+	}
+	public void setLandingPage (String landingPage) {
+		this.landingPage = landingPage;
+	}
 
 }
diff --git a/src/test/resources/korap-api-responses/resources.json b/src/test/resources/korap-api-responses/resources.json
index c43cbbd..64eb69c 100644
--- a/src/test/resources/korap-api-responses/resources.json
+++ b/src/test/resources/korap-api-responses/resources.json
@@ -14,7 +14,9 @@
             "11": "corenlp/p",
             "27": "tt/l",
             "28": "tt/p"
-        }
+        },
+         "institution" : "Wikimedia Foundation",
+         "landingPage" : "https://korap.ids-mannheim.de?corpusSigle=WPD17"
     },
     {
         "resourceId": "WDD17",
@@ -31,7 +33,9 @@
             "11": "corenlp/p",
             "27": "tt/l",
             "28": "tt/p"
-        }
+        },
+        "institution" : "Wikimedia Foundation",
+         "landingPage" : "https://korap.ids-mannheim.de?corpusSigle=WDD17"
     },
     {
         "resourceId": "WUD17",
@@ -48,6 +52,8 @@
             "11": "corenlp/p",
             "27": "tt/l",
             "28": "tt/p"
-        }
+        },
+        "institution" : "Wikimedia Foundation",
+         "landingPage" : "https://korap.ids-mannheim.de?corpusSigle=WUD17"
     }
 ]
\ No newline at end of file
