diff --git a/vipra-util/src/main/java/de/vipra/util/model/Article.java b/vipra-util/src/main/java/de/vipra/util/model/Article.java
index 4bfd8d55096952a75bf4f78b2d834feb4465f97a..40635289dfc27df38e24f7b4517e778235000583 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/Article.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/Article.java
@@ -60,4 +60,9 @@ public class Article implements Model<ObjectId>, Serializable {
 		return id.hashCode();
 	}
 
+	@Override
+	public String toString() {
+		return "Article [id=" + id + ", title=" + title + "]";
+	}
+
 }
diff --git a/vipra-util/src/main/java/de/vipra/util/model/ArticleFull.java b/vipra-util/src/main/java/de/vipra/util/model/ArticleFull.java
index 2f123629ebc746941ec5a204b4818793f1eaec47..eff4a2f22ad45238916b60b56bc46d56132315cf 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/ArticleFull.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/ArticleFull.java
@@ -6,6 +6,7 @@ import java.io.Serializable;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -217,12 +218,6 @@ public class ArticleFull extends FileModel<ObjectId> implements Serializable {
 			this.created = modified;
 	}
 
-	@Override
-	public String toString() {
-		return ArticleFull.class.getSimpleName() + "[id:" + id + ", title:" + title + ", url:" + url + ", date:" + date
-				+ ", created:" + created + ", modified:" + modified + "]";
-	}
-
 	@Override
 	public boolean equals(final Object o) {
 		if (o == null)
@@ -242,4 +237,11 @@ public class ArticleFull extends FileModel<ObjectId> implements Serializable {
 		return id.hashCode();
 	}
 
+	@Override
+	public String toString() {
+		return "ArticleFull [id=" + id + ", title=" + title + ", text=" + text + ", processedText="
+				+ Arrays.toString(processedText) + ", url=" + url + ", date=" + date + ", topics=" + topics + ", stats="
+				+ stats + ", created=" + created + ", modified=" + modified + ", meta=" + meta + "]";
+	}
+
 }
\ No newline at end of file
diff --git a/vipra-util/src/main/java/de/vipra/util/model/ArticleStats.java b/vipra-util/src/main/java/de/vipra/util/model/ArticleStats.java
index 3861683d9c54a7b93ca9a4fdb58796c634ad98f0..157890cc98a260e0f4a3a5344b192a4f08c591aa 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/ArticleStats.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/ArticleStats.java
@@ -48,8 +48,8 @@ public class ArticleStats implements Serializable {
 
 	@Override
 	public String toString() {
-		return ArticleStats.class.getSimpleName() + "[wordCount:" + wordCount + ", processedWordCount:"
-				+ processedWordCount + ", reductionRatio:" + reductionRatio + "]";
+		return "ArticleStats [wordCount=" + wordCount + ", uniqueWordCount=" + uniqueWordCount + ", processedWordCount="
+				+ processedWordCount + ", reductionRatio=" + reductionRatio + "]";
 	}
 
 }
\ No newline at end of file
diff --git a/vipra-util/src/main/java/de/vipra/util/model/Sequence.java b/vipra-util/src/main/java/de/vipra/util/model/Sequence.java
index 5078dcb31c4e17cebe4b0843b7770440dd18a6aa..0a7a4f03c4ae0115a764b805416e6b3a1c8ff26a 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/Sequence.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/Sequence.java
@@ -46,4 +46,9 @@ public class Sequence implements Comparable<Sequence>, Serializable {
 		return this.number - o.getNumber();
 	}
 
+	@Override
+	public String toString() {
+		return "Sequence [date=" + date + ", number=" + number + ", words=" + words + "]";
+	}
+
 }
diff --git a/vipra-util/src/main/java/de/vipra/util/model/Topic.java b/vipra-util/src/main/java/de/vipra/util/model/Topic.java
index c05d4be112d602e98fc7700b467d819e6dd2fec1..b2291995bfb0aec6dd291334021b1618bdfa36ad 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/Topic.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/Topic.java
@@ -71,4 +71,9 @@ public class Topic implements Model<ObjectId>, Serializable {
 		return id.hashCode();
 	}
 
+	@Override
+	public String toString() {
+		return "Topic [id=" + id + ", name=" + name + "]";
+	}
+
 }
diff --git a/vipra-util/src/main/java/de/vipra/util/model/TopicFull.java b/vipra-util/src/main/java/de/vipra/util/model/TopicFull.java
index edbd7e08a3fc9b961959d22b19a7df8ebd737498..1bdc9eb61291d9487235f7e9ca71ecd658ed2113 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/TopicFull.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/TopicFull.java
@@ -101,12 +101,6 @@ public class TopicFull implements Model<ObjectId>, Serializable {
 		this.modified = modified;
 	}
 
-	@Override
-	public String toString() {
-		return TopicFull.class.getSimpleName() + "[id:" + getId() + ", name:" + getName() + ", created:" + created
-				+ ", modified:" + modified + "]";
-	}
-
 	@PrePersist
 	public void prePersist() {
 		this.modified = new Date();
@@ -146,4 +140,10 @@ public class TopicFull implements Model<ObjectId>, Serializable {
 		return id.hashCode();
 	}
 
+	@Override
+	public String toString() {
+		return "TopicFull [id=" + id + ", name=" + name + ", index=" + index + ", words=" + words + ", sequences="
+				+ sequences + ", created=" + created + ", modified=" + modified + "]";
+	}
+
 }
diff --git a/vipra-util/src/main/java/de/vipra/util/model/TopicRef.java b/vipra-util/src/main/java/de/vipra/util/model/TopicRef.java
index dd5401126f378274fb4a4655a72456f04e5fb254..f6d2bba8c70080c8f58c3345211548d4e9445bfd 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/TopicRef.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/TopicRef.java
@@ -4,6 +4,7 @@ import java.io.Serializable;
 
 import org.mongodb.morphia.annotations.Embedded;
 import org.mongodb.morphia.annotations.Reference;
+import org.mongodb.morphia.annotations.Transient;
 
 @SuppressWarnings("serial")
 @Embedded
@@ -12,17 +13,10 @@ public class TopicRef implements Comparable<TopicRef>, Serializable {
 	@Reference(ignoreMissing = true)
 	private Topic topic;
 
-	private Integer count;
-
 	private Double share;
 
-	public Integer getCount() {
-		return count;
-	}
-
-	public void setCount(final Integer count) {
-		this.count = count;
-	}
+	@Transient
+	private Integer count;
 
 	public Topic getTopic() {
 		return topic;
@@ -32,6 +26,14 @@ public class TopicRef implements Comparable<TopicRef>, Serializable {
 		this.topic = topic;
 	}
 
+	public Integer getCount() {
+		return count;
+	}
+
+	public void setCount(Integer count) {
+		this.count = count;
+	}
+
 	public Double getShare() {
 		return share;
 	}
@@ -42,12 +44,12 @@ public class TopicRef implements Comparable<TopicRef>, Serializable {
 
 	@Override
 	public int compareTo(final TopicRef arg0) {
-		return count - arg0.getCount();
+		return (int) (share - arg0.getShare());
 	}
 
 	@Override
 	public String toString() {
-		return TopicRef.class.getSimpleName() + "[topic: " + topic + ", count:" + count + ", share:" + share + "]";
+		return "TopicRef [topic=" + topic + ", share=" + share + ", count=" + count + "]";
 	}
 
 }
diff --git a/vipra-util/src/main/java/de/vipra/util/model/TopicWord.java b/vipra-util/src/main/java/de/vipra/util/model/TopicWord.java
index 15d01a0f7603c602b6e3df9bf9a3782363169585..84c2f8301e22c3ac0fbae05431ba0cddbc85f6c9 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/TopicWord.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/TopicWord.java
@@ -64,7 +64,7 @@ public class TopicWord implements Comparable<TopicWord>, Serializable {
 
 	@Override
 	public String toString() {
-		return TopicWord.class.getSimpleName() + "[word:" + word + ", likeliness:" + likeliness + "]";
+		return "TopicWord [word=" + word + ", likeliness=" + likeliness + "]";
 	}
 
 }
diff --git a/vipra-util/src/main/java/de/vipra/util/model/Word.java b/vipra-util/src/main/java/de/vipra/util/model/Word.java
index f7f79962da7315712a4e02f3b2ed303f0c156154..d1346505166ee015cc99b5b16ff47ed411e554d1 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/Word.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/Word.java
@@ -99,4 +99,9 @@ public class Word implements Model<String>, Serializable {
 		return id.hashCode();
 	}
 
+	@Override
+	public String toString() {
+		return "Word [id=" + id + ", created=" + created + ", isCreated=" + isCreated + "]";
+	}
+
 }