diff --git a/core/org.eclipse.statet.rj.services.core/srcEnv/org/eclipse/statet/rj/renv/core/BasicRPkgDescription.java b/core/org.eclipse.statet.rj.services.core/srcEnv/org/eclipse/statet/rj/renv/core/BasicRPkgDescription.java
index 868d817..b2dde9d 100644
--- a/core/org.eclipse.statet.rj.services.core/srcEnv/org/eclipse/statet/rj/renv/core/BasicRPkgDescription.java
+++ b/core/org.eclipse.statet.rj.services.core/srcEnv/org/eclipse/statet/rj/renv/core/BasicRPkgDescription.java
@@ -14,6 +14,7 @@
 
 package org.eclipse.statet.rj.renv.core;
 
+import org.eclipse.statet.jcommons.collections.ImList;
 import org.eclipse.statet.jcommons.lang.NonNullByDefault;
 import org.eclipse.statet.jcommons.lang.Nullable;
 
@@ -30,7 +31,7 @@
 	
 	private final @Nullable String author;
 	private final @Nullable String maintainer;
-	private final @Nullable String url;
+	private final ImList<String> urls;
 	
 	private final String built;
 	
@@ -40,14 +41,14 @@
 	public BasicRPkgDescription(final String name, final RNumVersion version,
 			final String title, final String description,
 			final @Nullable String author, final @Nullable String maintainer,
-			final @Nullable String url,
+			final ImList<String> urls,
 			final String built, final RLibLocation libLocation) {
 		super(name, version);
 		this.title= title;
 		this.description= description;
 		this.author= author;
 		this.maintainer= maintainer;
-		this.url= url;
+		this.urls= urls;
 		this.built= built;
 		this.libLocation= libLocation;
 	}
@@ -58,7 +59,7 @@
 		this.description= template.getDescription();
 		this.author= template.getAuthor();
 		this.maintainer= template.getMaintainer();
-		this.url= template.getUrl();
+		this.urls= template.getUrls();
 		this.built= template.getBuilt();
 		this.libLocation= libLocation;
 	}
@@ -85,8 +86,8 @@
 	}
 	
 	@Override
-	public @Nullable String getUrl() {
-		return this.url;
+	public ImList<String> getUrls() {
+		return this.urls;
 	}
 	
 	@Override
diff --git a/core/org.eclipse.statet.rj.services.core/srcEnv/org/eclipse/statet/rj/renv/core/RPkgDescription.java b/core/org.eclipse.statet.rj.services.core/srcEnv/org/eclipse/statet/rj/renv/core/RPkgDescription.java
index 16ecb88..22465e5 100644
--- a/core/org.eclipse.statet.rj.services.core/srcEnv/org/eclipse/statet/rj/renv/core/RPkgDescription.java
+++ b/core/org.eclipse.statet.rj.services.core/srcEnv/org/eclipse/statet/rj/renv/core/RPkgDescription.java
@@ -14,6 +14,7 @@
 
 package org.eclipse.statet.rj.renv.core;
 
+import org.eclipse.statet.jcommons.collections.ImList;
 import org.eclipse.statet.jcommons.lang.NonNullByDefault;
 import org.eclipse.statet.jcommons.lang.Nullable;
 
@@ -31,6 +32,6 @@
 	
 	@Nullable String getMaintainer();
 	
-	@Nullable String getUrl();
+	ImList<String> getUrls();
 	
 }
