diff --git a/src/main/java/org/olat/modules/webFeed/Feed.java b/src/main/java/org/olat/modules/webFeed/Feed.java
index aea3f64fbeced15bac63911e0ec26c8981e2b062..35b063a08e3883ff53b5c5ed261bba785c8d0113 100644
--- a/src/main/java/org/olat/modules/webFeed/Feed.java
+++ b/src/main/java/org/olat/modules/webFeed/Feed.java
@@ -21,6 +21,8 @@ package org.olat.modules.webFeed;
 
 import java.util.Date;
 
+import org.olat.core.id.CreateInfo;
+import org.olat.core.id.ModifiedInfo;
 import org.olat.core.id.OLATResourceable;
 
 /**
@@ -31,7 +33,7 @@ import org.olat.core.id.OLATResourceable;
  * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
  *
  */
-public interface Feed extends OLATResourceable {
+public interface Feed extends OLATResourceable, CreateInfo, ModifiedInfo {
 
 	public Long getKey();
 	
@@ -51,14 +53,8 @@ public interface Feed extends OLATResourceable {
 	@Override
 	public String getResourceableTypeName();
 
-	public Date getCreationDate();
-
 	public void setCreationDate(Date creationDate);
 
-	public Date getLastModified();
-
-	public void setLastModified(Date date);
-
 	public String getTitle();
 
 	public void setTitle(String title);
diff --git a/src/main/java/org/olat/modules/webFeed/Item.java b/src/main/java/org/olat/modules/webFeed/Item.java
index 86847195e974ce27b6287f8068d1da0f8c4fd12e..253f0ffa8f060be5ae02862819c853a039a19e7f 100644
--- a/src/main/java/org/olat/modules/webFeed/Item.java
+++ b/src/main/java/org/olat/modules/webFeed/Item.java
@@ -23,6 +23,8 @@ import java.util.Date;
 
 import org.olat.core.commons.controllers.navigation.Dated;
 import org.olat.core.gui.components.form.flexible.elements.FileElement;
+import org.olat.core.id.CreateInfo;
+import org.olat.core.id.ModifiedInfo;
 
 /**
  * 
@@ -30,7 +32,7 @@ import org.olat.core.gui.components.form.flexible.elements.FileElement;
  * @author uhensler, urs.hensler@frentix.com, http://www.frentix.com
  *
  */
-public interface Item extends Dated {
+public interface Item extends Dated, CreateInfo, ModifiedInfo {
 	
 	public Long getKey();
 	
@@ -39,14 +41,8 @@ public interface Item extends Dated {
 	@Override
 	public Date getDate();
 
-	public Date getCreationDate();
-
 	public void setCreationDate(Date date);
 
-	public Date getLastModified();
-
-	public void setLastModified(Date updatedDate);
-
 	public String getTitle();
 	
 	public void setTitle(String title);
diff --git a/src/main/java/org/olat/modules/webFeed/model/FeedImpl.java b/src/main/java/org/olat/modules/webFeed/model/FeedImpl.java
index e2a95a66894221aa9a3cbc32882d6acce6717865..65a9e38df9b331e6f913d250aa8a66d8292d8525 100644
--- a/src/main/java/org/olat/modules/webFeed/model/FeedImpl.java
+++ b/src/main/java/org/olat/modules/webFeed/model/FeedImpl.java
@@ -260,17 +260,21 @@ public class FeedImpl implements Feed, Serializable {
 	public int getModelVersion() {
 		return modelVersion;
 	}
+
+	@Override
+	public int hashCode() {
+		return getKey() == null ? 43254 : getKey().hashCode();
+	}
 	
-	/**
-	 * Overwrite equals method so that different object that actually
-	 * represent the same item are recognized as such.
-	 */
 	@Override
 	public boolean equals(Object obj) {
-		if (!(obj instanceof FeedImpl)) return false;
-		FeedImpl otherFeed = (FeedImpl) obj;
-		return this.getResourceableId().equals(otherFeed.getResourceableId()) &&
-				this.getResourceableTypeName().equals(otherFeed.getResourceableTypeName());
+		if(this == obj) {
+			return true;
+		} else if(obj instanceof FeedImpl) {
+			FeedImpl feed = (FeedImpl)obj;
+			return getKey() != null && getKey().equals(feed.getKey());
+		}
+		return false;
 	}
 	
 }
diff --git a/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java b/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java
index 3b02d6db3a5185bf991af745c8a3d4f2eccb2685..3ff58f6f9e56349ed21c277e0489a2732e5f5aed 100644
--- a/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java
+++ b/src/main/java/org/olat/modules/webFeed/model/ItemImpl.java
@@ -366,21 +366,16 @@ public class ItemImpl implements Item, Serializable {
 	
 	@Override
 	public int hashCode() {
-		return guid == null ? 39745 : guid.hashCode();
+		return getKey() == null ? 39745 : getKey().hashCode();
 	}
 	
-	/**
-	 * Overwrite equals method so that different object that actually
-	 * represent the same item are recognized as such,
-	 * e.g. in the remove method of the feed.
-	 */
 	@Override
 	public boolean equals(Object obj) {
 		if(this == obj) {
 			return true;
 		} else if(obj instanceof ItemImpl) {
 			ItemImpl item = (ItemImpl)obj;
-			return guid != null && guid.equals(item.guid);
+			return getKey() != null && getKey().equals(item.getKey());
 		}
 		return false;
 	}