diff --git a/jgibblda/.settings/org.eclipse.jdt.ui.prefs b/jgibblda/.settings/org.eclipse.jdt.ui.prefs
index 67b3835098d95ab9541c4dbdc4cb4c5dd04ea5b5..bab1260352fa628f34603b44ab35e272a059e4b0 100644
--- a/jgibblda/.settings/org.eclipse.jdt.ui.prefs
+++ b/jgibblda/.settings/org.eclipse.jdt.ui.prefs
@@ -38,9 +38,9 @@ cleanup.remove_trailing_whitespaces_ignore_empty=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_local_variables=true
 cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_members=true
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
 cleanup.sort_members=false
@@ -50,9 +50,9 @@ cleanup.use_blocks=false
 cleanup.use_blocks_only_for_return_and_throw=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=true
 cleanup.use_type_arguments=false
 cleanup_profile=_vipra
diff --git a/vipra-backend/.settings/org.eclipse.jdt.ui.prefs b/vipra-backend/.settings/org.eclipse.jdt.ui.prefs
index 67b3835098d95ab9541c4dbdc4cb4c5dd04ea5b5..bab1260352fa628f34603b44ab35e272a059e4b0 100644
--- a/vipra-backend/.settings/org.eclipse.jdt.ui.prefs
+++ b/vipra-backend/.settings/org.eclipse.jdt.ui.prefs
@@ -38,9 +38,9 @@ cleanup.remove_trailing_whitespaces_ignore_empty=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_local_variables=true
 cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_members=true
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
 cleanup.sort_members=false
@@ -50,9 +50,9 @@ cleanup.use_blocks=false
 cleanup.use_blocks_only_for_return_and_throw=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=true
 cleanup.use_type_arguments=false
 cleanup_profile=_vipra
diff --git a/vipra-backend/src/main/java/de/vipra/ws/StateSessionMap.java b/vipra-backend/src/main/java/de/vipra/ws/StateSessionMap.java
index 6dc65296e9e7247554e7d4d82bcc28a05170d6e4..02c47730ad4c92eb442d891ba65e6d30dbf40e6f 100644
--- a/vipra-backend/src/main/java/de/vipra/ws/StateSessionMap.java
+++ b/vipra-backend/src/main/java/de/vipra/ws/StateSessionMap.java
@@ -10,11 +10,11 @@ public class StateSessionMap extends HashMap<StateSession, StateSession> {
 	private static final long serialVersionUID = 1L;
 
 	public Stream<Session> stream(final State state) {
-		return this.entrySet().stream().filter(s -> s.getKey().getState() == state).map(s -> s.getKey().getSession());
+		return entrySet().stream().filter(s -> s.getKey().getState() == state).map(s -> s.getKey().getSession());
 	}
 
 	public void add(final StateSession session) {
-		this.put(session, session);
+		put(session, session);
 	}
 
 }
diff --git a/vipra-cmd/.settings/org.eclipse.jdt.ui.prefs b/vipra-cmd/.settings/org.eclipse.jdt.ui.prefs
index 67b3835098d95ab9541c4dbdc4cb4c5dd04ea5b5..bab1260352fa628f34603b44ab35e272a059e4b0 100644
--- a/vipra-cmd/.settings/org.eclipse.jdt.ui.prefs
+++ b/vipra-cmd/.settings/org.eclipse.jdt.ui.prefs
@@ -38,9 +38,9 @@ cleanup.remove_trailing_whitespaces_ignore_empty=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_local_variables=true
 cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_members=true
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
 cleanup.sort_members=false
@@ -50,9 +50,9 @@ cleanup.use_blocks=false
 cleanup.use_blocks_only_for_return_and_throw=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=true
 cleanup.use_type_arguments=false
 cleanup_profile=_vipra
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMFilebase.java b/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMFilebase.java
index d775be2669ce3ba17a382ad02e94fc7ff64cea8d..fd81162a0bb9f98ae7efa49d23607c8916cb78a4 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMFilebase.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMFilebase.java
@@ -29,17 +29,17 @@ public class DTMFilebase extends Filebase {
 
 		final File modelDir = getModelDir();
 		try {
-			this.seqindex = new DTMIndex(modelDir);
+			seqindex = new DTMIndex(modelDir);
 		} catch (IOException | ParseException e) {
 			throw new FilebaseException("could not read date index file", e);
 		}
 
 		try {
-			this.vocab = new DTMVocabulary(modelDir, false);
+			vocab = new DTMVocabulary(modelDir, false);
 		} catch (final IOException e) {
 			throw new FilebaseException("could not read vocabulary file", e);
 		}
-		this.modelFile = getModelFile(FILE_NAME);
+		modelFile = getModelFile(FILE_NAME);
 	}
 
 	@Override
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMIndex.java b/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMIndex.java
index f1d9fdf2fc2ddce821360dd7efdb3ab7ceb29865..600c897048760abac0dfd9c285c2a3c1d6da350b 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMIndex.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMIndex.java
@@ -64,8 +64,8 @@ public class DTMIndex implements Closeable {
 	private final List<ArticleDate> articleDates = new ArrayList<>();
 
 	public DTMIndex(final File modelDir) throws IOException, ParseException {
-		this.inFile = new File(modelDir, DATE_FILE_NAME);
-		this.outFile = new File(modelDir, SEQ_FILE_NAME);
+		inFile = new File(modelDir, DATE_FILE_NAME);
+		outFile = new File(modelDir, SEQ_FILE_NAME);
 
 		if (inFile.exists()) {
 			final List<String> lines = FileUtils.readFile(inFile);
@@ -121,7 +121,7 @@ public class DTMIndex implements Closeable {
 		return articleDates;
 	}
 
-	public int articleIndexStartForSequence(int sequenceIndex) {
+	public int articleIndexStartForSequence(final int sequenceIndex) {
 		int offset = 0;
 		for (int i = 0; i < sequenceIndex; i++)
 			offset += sequenceList.get(i).count;
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMVocabulary.java b/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMVocabulary.java
index 9477f00f738c3c7226bbacf72211dff41db3cac3..ae4bcb2e1d0f4926e855583e5cb9c7223fe0d104 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMVocabulary.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/file/DTMVocabulary.java
@@ -25,7 +25,7 @@ public class DTMVocabulary implements Closeable, Iterable<String> {
 	}
 
 	public DTMVocabulary(final File modelDir, final boolean reread) throws IOException {
-		this.file = new File(modelDir, FILE_NAME);
+		file = new File(modelDir, FILE_NAME);
 		if (file.exists()) {
 			if (vocables == null || reread)
 				vocables = FileUtils.readFile(file);
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/file/Filebase.java b/vipra-cmd/src/main/java/de/vipra/cmd/file/Filebase.java
index 639a728c07e82fcb54ef1303094f20863ee609b1..dc5e26555ecaccd1de04888d0caf2f6173e679af 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/file/Filebase.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/file/Filebase.java
@@ -26,18 +26,18 @@ public abstract class Filebase implements Closeable {
 
 	public Filebase(final File dataDir, final String modelName) throws FilebaseException {
 		this.modelName = modelName;
-		this.modelDir = new File(dataDir, modelName);
+		modelDir = new File(dataDir, modelName);
 		if (!modelDir.exists()) {
 			if (!modelDir.mkdirs()) {
 				throw new FilebaseException("could not create model directory: " + modelDir.getAbsolutePath());
 			}
 		}
 		try {
-			this.index = new FilebaseIndex(modelDir);
+			index = new FilebaseIndex(modelDir);
 		} catch (final IOException e) {
 			throw new FilebaseException("could not read index: " + e.getMessage());
 		}
-		this.articles = new ArrayList<>(Constants.IMPORT_BUFFER_MAX);
+		articles = new ArrayList<>(Constants.IMPORT_BUFFER_MAX);
 	}
 
 	public File getModelDir() {
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/file/FilebaseIndex.java b/vipra-cmd/src/main/java/de/vipra/cmd/file/FilebaseIndex.java
index beb2ee94c2b84ec8e7e42f13ea61fc3b4a9ad1aa..a533f822c7e24a5c526d8881970c3699f4d31f98 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/file/FilebaseIndex.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/file/FilebaseIndex.java
@@ -18,7 +18,7 @@ public class FilebaseIndex implements Closeable, Iterable<String> {
 	private List<String> index;
 
 	public FilebaseIndex(final File modelDir) throws IOException {
-		this.file = new File(modelDir, FILE_NAME);
+		file = new File(modelDir, FILE_NAME);
 		if (file.exists()) {
 			index = new ArrayList<>(FileUtils.readFile(file));
 		} else {
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/file/JGibbFilebase.java b/vipra-cmd/src/main/java/de/vipra/cmd/file/JGibbFilebase.java
index 7b1957f2be53787b68eeb01b298297f1316401ac..0e42682aee43f9ccdbb953e8459296e0176801cb 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/file/JGibbFilebase.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/file/JGibbFilebase.java
@@ -17,7 +17,7 @@ public class JGibbFilebase extends Filebase {
 
 	public JGibbFilebase(final File dataDir) throws FilebaseException {
 		super(dataDir, "jgibb");
-		this.modelFile = getModelFile(null);
+		modelFile = getModelFile(null);
 	}
 
 	@Override
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/lda/DTMAnalyzer.java b/vipra-cmd/src/main/java/de/vipra/cmd/lda/DTMAnalyzer.java
index 9d040dc824384100836382f440c09d503296e348..925b61fa736eb87e5f6aacaff163eb86a57b37e7 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/lda/DTMAnalyzer.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/lda/DTMAnalyzer.java
@@ -63,16 +63,16 @@ public class DTMAnalyzer extends Analyzer {
 	public void init(final Config config) throws AnalyzerException {
 		try {
 			final File dataDir = config.getDataDirectory();
-			this.modelDir = new File(dataDir, NAME);
-			this.outDir = new File(modelDir, "out");
-			this.outDirSeq = new File(outDir, "lda-seq");
-			this.vocab = new DTMVocabulary(modelDir);
-			this.idindex = new FilebaseIndex(modelDir);
-			this.seqindex = new DTMIndex(modelDir);
-			this.dbArticles = MongoService.getDatabaseService(config, ArticleFull.class);
-			this.dbTopics = MongoService.getDatabaseService(config, TopicFull.class);
-			this.dbSequences = MongoService.getDatabaseService(config, SequenceFull.class);
-			this.dbWords = MongoService.getDatabaseService(config, Word.class);
+			modelDir = new File(dataDir, NAME);
+			outDir = new File(modelDir, "out");
+			outDirSeq = new File(outDir, "lda-seq");
+			vocab = new DTMVocabulary(modelDir);
+			idindex = new FilebaseIndex(modelDir);
+			seqindex = new DTMIndex(modelDir);
+			dbArticles = MongoService.getDatabaseService(config, ArticleFull.class);
+			dbTopics = MongoService.getDatabaseService(config, TopicFull.class);
+			dbSequences = MongoService.getDatabaseService(config, SequenceFull.class);
+			dbWords = MongoService.getDatabaseService(config, Word.class);
 		} catch (ConfigException | IOException | ParseException e) {
 			throw new AnalyzerException(e);
 		}
@@ -85,8 +85,8 @@ public class DTMAnalyzer extends Analyzer {
 			throw new AnalyzerException(
 					"dtm binary not found at path: " + config.dtmPath + ", check config key 'tm.dtmpath'");
 
-		final String corpusPrefix = this.modelDir.getAbsolutePath() + File.separator + NAME;
-		final String outname = this.outDir.getAbsolutePath();
+		final String corpusPrefix = modelDir.getAbsolutePath() + File.separator + NAME;
+		final String outname = outDir.getAbsolutePath();
 
 		final String[] parameters = {
 				// number of topics
@@ -112,7 +112,7 @@ public class DTMAnalyzer extends Analyzer {
 				// output directory
 				"--outname=" + outname };
 
-		this.command = dtmBinary.getAbsolutePath() + " " + StringUtils.join(parameters, " ");
+		command = dtmBinary.getAbsolutePath() + " " + StringUtils.join(parameters, " ");
 	}
 
 	@Override
@@ -150,7 +150,7 @@ public class DTMAnalyzer extends Analyzer {
 				// read distributions into matrix and sum
 				double topicDistributionSum = 0;
 				for (int idxTopic = 0; idxTopic < Constants.K_TOPICS; idxTopic++) {
-					double topicDistribution = Double.parseDouble(in.readLine());
+					final double topicDistribution = Double.parseDouble(in.readLine());
 					topicDistributions[idxArticle][idxTopic] = topicDistribution;
 					topicDistributionSum += topicDistribution;
 				}
@@ -243,11 +243,11 @@ public class DTMAnalyzer extends Analyzer {
 					}
 
 					// calculate topic sequence relevance
-					int sequenceSize = seqindex.getSequence(idxSeq).count;
+					final int sequenceSize = seqindex.getSequence(idxSeq).count;
 					double seqTopicDistribution = 0;
 					for (int idxArticle = sequenceOffset; idxArticle < sequenceOffset + sequenceSize; idxArticle++)
 						seqTopicDistribution += topicDistributions[idxArticle][idxTopic];
-					double relevance = seqTopicDistribution / sequenceSize;
+					final double relevance = seqTopicDistribution / sequenceSize;
 
 					// create sequence
 					final SequenceFull newSequenceFull = new SequenceFull();
diff --git a/vipra-cmd/src/main/java/de/vipra/cmd/text/ProcessedText.java b/vipra-cmd/src/main/java/de/vipra/cmd/text/ProcessedText.java
index 9c495434a2327b48c473471ff3546dbf7a7b400f..a47d1738d536aa37154dfde1e0580791eaa84fac 100644
--- a/vipra-cmd/src/main/java/de/vipra/cmd/text/ProcessedText.java
+++ b/vipra-cmd/src/main/java/de/vipra/cmd/text/ProcessedText.java
@@ -8,10 +8,10 @@ public class ProcessedText {
 	private final double reductionRatio;
 
 	public ProcessedText(final String text, final long wordCount) {
-		this.words = text.split("\\s+");
-		this.originalWordCount = wordCount;
-		this.reducedWordCount = this.words.length;
-		this.reductionRatio = 1 - ((double) reducedWordCount / wordCount);
+		words = text.split("\\s+");
+		originalWordCount = wordCount;
+		reducedWordCount = words.length;
+		reductionRatio = 1 - ((double) reducedWordCount / wordCount);
 	}
 
 	public String[] getWords() {
diff --git a/vipra-util/.settings/org.eclipse.jdt.ui.prefs b/vipra-util/.settings/org.eclipse.jdt.ui.prefs
index 67b3835098d95ab9541c4dbdc4cb4c5dd04ea5b5..bab1260352fa628f34603b44ab35e272a059e4b0 100644
--- a/vipra-util/.settings/org.eclipse.jdt.ui.prefs
+++ b/vipra-util/.settings/org.eclipse.jdt.ui.prefs
@@ -38,9 +38,9 @@ cleanup.remove_trailing_whitespaces_ignore_empty=false
 cleanup.remove_unnecessary_casts=true
 cleanup.remove_unnecessary_nls_tags=true
 cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_local_variables=true
 cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_members=true
 cleanup.remove_unused_private_methods=true
 cleanup.remove_unused_private_types=true
 cleanup.sort_members=false
@@ -50,9 +50,9 @@ cleanup.use_blocks=false
 cleanup.use_blocks_only_for_return_and_throw=false
 cleanup.use_lambda=true
 cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access=true
 cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access=true
 cleanup.use_this_for_non_static_method_access_only_if_necessary=true
 cleanup.use_type_arguments=false
 cleanup_profile=_vipra
diff --git a/vipra-util/src/main/java/de/vipra/util/ArrayUtils.java b/vipra-util/src/main/java/de/vipra/util/ArrayUtils.java
index 028188745c5aa6bd53d1ed75bba8d3904086efb7..cdf232ae2e6b456ab0b87f8a06791832422c785f 100644
--- a/vipra-util/src/main/java/de/vipra/util/ArrayUtils.java
+++ b/vipra-util/src/main/java/de/vipra/util/ArrayUtils.java
@@ -4,27 +4,6 @@ import java.util.Arrays;
 
 public class ArrayUtils {
 
-	public static double findMaximum(final double[] values) {
-		double maximum = Integer.MIN_VALUE;
-		for (final double value : values) {
-			if (value > maximum)
-				maximum = value;
-		}
-		return maximum;
-	}
-
-	public static double[] findRowMaximum(final double[][] values) {
-		final int rows = values.length;
-		final int cols = values[0].length;
-		final double[] maximum = new double[rows];
-		Arrays.fill(maximum, Integer.MIN_VALUE);
-		for (int row = 0; row < rows; row++)
-			for (int col = 0; col < cols; col++)
-				if (values[row][col] > maximum[row])
-					maximum[row] = values[row][col];
-		return maximum;
-	}
-
 	public static double[] findColMaximum(final double[][] values) {
 		final int rows = values.length;
 		final int cols = values[0].length;
@@ -37,21 +16,4 @@ public class ArrayUtils {
 		return maximum;
 	}
 
-	public static double sum(final double[] values) {
-		double result = 0;
-		for (final double value : values)
-			result += value;
-		return result;
-	}
-
-	public static int[] range(int start, int end) {
-		if (start == end)
-			return new int[] { start };
-		boolean up = start < end;
-		int[] result = new int[Math.abs(end - start)];
-		for (int i = 0, n = start; i < result.length; i++)
-			result[i] = up ? n++ : n--;
-		return result;
-	}
-
 }
diff --git a/vipra-util/src/main/java/de/vipra/util/BuildInfo.java b/vipra-util/src/main/java/de/vipra/util/BuildInfo.java
index 7489aa05dc2d27db3c03fc2ef87ef4ef106c162f..c997d61df31cc838587acbc54f22fbf799cb114d 100644
--- a/vipra-util/src/main/java/de/vipra/util/BuildInfo.java
+++ b/vipra-util/src/main/java/de/vipra/util/BuildInfo.java
@@ -36,9 +36,9 @@ public class BuildInfo {
 
 	public BuildInfo() {
 		final Properties props = getProperties();
-		this.gitSHA1 = props.getProperty("git-sha-1");
-		this.version = props.getProperty("version");
-		this.buildDate = props.getProperty("builddate");
+		gitSHA1 = props.getProperty("git-sha-1");
+		version = props.getProperty("version");
+		buildDate = props.getProperty("builddate");
 	}
 
 	public String getGitSHA1() {
diff --git a/vipra-util/src/main/java/de/vipra/util/Constants.java b/vipra-util/src/main/java/de/vipra/util/Constants.java
index 7fa9823208f3dba6ed9ad23acf04933e31e60c70..a331195d0f2632e3bcebdcfbbeb055ab642dad1f 100644
--- a/vipra-util/src/main/java/de/vipra/util/Constants.java
+++ b/vipra-util/src/main/java/de/vipra/util/Constants.java
@@ -289,7 +289,7 @@ public class Constants {
 		}
 
 		private Processor(final Processor def) {
-			this.name = def.name;
+			name = def.name;
 		}
 
 		public static Processor DEFAULT() {
@@ -322,7 +322,7 @@ public class Constants {
 		}
 
 		private Analyzer(final Analyzer def) {
-			this.name = def.name;
+			name = def.name;
 		}
 
 		public static Analyzer DEFAULT() {
@@ -356,7 +356,7 @@ public class Constants {
 		}
 
 		private WindowResolution(final WindowResolution def) {
-			this.name = def.name;
+			name = def.name;
 		}
 
 		public String sequenceLabel(final Date date) {
diff --git a/vipra-util/src/main/java/de/vipra/util/FileUtils.java b/vipra-util/src/main/java/de/vipra/util/FileUtils.java
index 80ce49c34decac8343ab24e9fcf6ea459ba567a9..8c636498d5c403053e238f038ff88da3ea61c574 100644
--- a/vipra-util/src/main/java/de/vipra/util/FileUtils.java
+++ b/vipra-util/src/main/java/de/vipra/util/FileUtils.java
@@ -102,23 +102,6 @@ public class FileUtils extends org.apache.commons.io.FileUtils {
 		return getResource(name, null);
 	}
 
-	/**
-	 * Counts the lines in a file
-	 *
-	 * @param file
-	 *            the file to be opened
-	 * @return line count of file
-	 * @throws IOException
-	 */
-	public static int countLines(final File file) throws IOException {
-		final BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
-		int lines = 0;
-		while (reader.readLine() != null)
-			lines++;
-		reader.close();
-		return lines;
-	}
-
 	/**
 	 * Iterates the lines of a file. Closes the reader automatically when it
 	 * hits the end of the file
diff --git a/vipra-util/src/main/java/de/vipra/util/ListUtils.java b/vipra-util/src/main/java/de/vipra/util/ListUtils.java
index a8363c5b06275e91b1056d3482f001e60d296161..45867e5c2b6f7b8716f162f40b18cff83d45f0b0 100644
--- a/vipra-util/src/main/java/de/vipra/util/ListUtils.java
+++ b/vipra-util/src/main/java/de/vipra/util/ListUtils.java
@@ -1,19 +1,10 @@
 package de.vipra.util;
 
 import java.util.ArrayList;
-import java.util.LinkedHashSet;
 import java.util.List;
-import java.util.Set;
 
 public class ListUtils {
 
-	public static <T> List<T> removeDuplicates(final List<T> list) {
-		final Set<T> set = new LinkedHashSet<>(list);
-		list.clear();
-		list.addAll(set);
-		return list;
-	}
-
 	public static String[] toStringArray(final Object[] array) {
 		final String[] strings = new String[array.length];
 		for (int i = 0; i < array.length; i++) {
diff --git a/vipra-util/src/main/java/de/vipra/util/NumberUtils.java b/vipra-util/src/main/java/de/vipra/util/NumberUtils.java
deleted file mode 100644
index c3d0879b2a0650e400a030c6aa8f4d47c48d14cf..0000000000000000000000000000000000000000
--- a/vipra-util/src/main/java/de/vipra/util/NumberUtils.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package de.vipra.util;
-
-public class NumberUtils {
-
-	public static double roundToPrecision(final double d, final int precision) {
-		final double p = Math.pow(10, precision);
-		return Math.round(d * p) / p;
-	}
-
-}
diff --git a/vipra-util/src/main/java/de/vipra/util/TopicSimilarity.java b/vipra-util/src/main/java/de/vipra/util/TopicSimilarity.java
deleted file mode 100644
index f3d0bfadbcba15c3fae7e102097178627a2eb7f3..0000000000000000000000000000000000000000
--- a/vipra-util/src/main/java/de/vipra/util/TopicSimilarity.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package de.vipra.util;
-
-import de.vipra.util.model.Topic;
-
-public class TopicSimilarity {
-
-	private Topic topic;
-
-	private int shareCount;
-
-	public Topic getTopic() {
-		return topic;
-	}
-
-	public void setTopic(final Topic topic) {
-		this.topic = topic;
-	}
-
-	public int getShareCount() {
-		return shareCount;
-	}
-
-	public void setShareCount(final int shareCount) {
-		this.shareCount = shareCount;
-	}
-
-}
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 eff4a2f22ad45238916b60b56bc46d56132315cf..f9e3ac4491b703698915a418ba03aeaef58fa3b8 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
@@ -213,9 +213,9 @@ public class ArticleFull extends FileModel<ObjectId> implements Serializable {
 
 	@PrePersist
 	public void prePersist() {
-		this.modified = new Date();
-		if (this.created == null)
-			this.created = modified;
+		modified = new Date();
+		if (created == null)
+			created = modified;
 	}
 
 	@Override
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 a1d1b9b460cbaebd43a2edab9f55fc79d13d4a62..edc82a45a26c798b5e8195a3c9d789e6478d6bd3 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
@@ -20,15 +20,17 @@ public class Sequence implements Model<ObjectId>, Comparable<Sequence>, Serializ
 
 	public Sequence() {}
 
-	public Sequence(ObjectId id) {
+	public Sequence(final ObjectId id) {
 		this.id = id;
 	}
 
+	@Override
 	public ObjectId getId() {
 		return id;
 	}
 
-	public void setId(ObjectId id) {
+	@Override
+	public void setId(final ObjectId id) {
 		this.id = id;
 	}
 
@@ -36,7 +38,7 @@ public class Sequence implements Model<ObjectId>, Comparable<Sequence>, Serializ
 		return startDate;
 	}
 
-	public void setStartDate(Date startDate) {
+	public void setStartDate(final Date startDate) {
 		this.startDate = startDate;
 	}
 
@@ -44,7 +46,7 @@ public class Sequence implements Model<ObjectId>, Comparable<Sequence>, Serializ
 		return endDate;
 	}
 
-	public void setEndDate(Date endDate) {
+	public void setEndDate(final Date endDate) {
 		this.endDate = endDate;
 	}
 
@@ -52,7 +54,7 @@ public class Sequence implements Model<ObjectId>, Comparable<Sequence>, Serializ
 		return number;
 	}
 
-	public void setNumber(Integer number) {
+	public void setNumber(final Integer number) {
 		this.number = number;
 	}
 
@@ -60,13 +62,13 @@ public class Sequence implements Model<ObjectId>, Comparable<Sequence>, Serializ
 		return relevance;
 	}
 
-	public void setRelevance(Double relevance) {
+	public void setRelevance(final Double relevance) {
 		this.relevance = relevance;
 	}
 
 	@Override
 	public int compareTo(final Sequence o) {
-		return this.number - o.getNumber();
+		return number - o.getNumber();
 	}
 
 	@Override
diff --git a/vipra-util/src/main/java/de/vipra/util/model/SequenceFull.java b/vipra-util/src/main/java/de/vipra/util/model/SequenceFull.java
index b764e7f11bc3077db9b509ceb44b9c0dfcb7a987..332e52f656c508ea605d9d31e2fd4bd7451fd89b 100644
--- a/vipra-util/src/main/java/de/vipra/util/model/SequenceFull.java
+++ b/vipra-util/src/main/java/de/vipra/util/model/SequenceFull.java
@@ -31,11 +31,13 @@ public class SequenceFull implements Model<ObjectId>, Comparable<SequenceFull>,
 	@QueryIgnore(multi = true)
 	private List<TopicWord> words;
 
+	@Override
 	public ObjectId getId() {
 		return id;
 	}
 
-	public void setId(ObjectId id) {
+	@Override
+	public void setId(final ObjectId id) {
 		this.id = id;
 	}
 
@@ -75,7 +77,7 @@ public class SequenceFull implements Model<ObjectId>, Comparable<SequenceFull>,
 		return topic;
 	}
 
-	public void setTopic(Topic topic) {
+	public void setTopic(final Topic topic) {
 		this.topic = topic;
 	}
 
@@ -89,7 +91,7 @@ public class SequenceFull implements Model<ObjectId>, Comparable<SequenceFull>,
 
 	@Override
 	public int compareTo(final SequenceFull o) {
-		return this.number - o.getNumber();
+		return number - o.getNumber();
 	}
 
 	@Override
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 02afc7bc14352773b50c0c46fb1029a5cf1f5a67..6a125144c5a1f0cd8265fbcfeba3baea051e7252 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
@@ -75,7 +75,7 @@ public class TopicFull implements Model<ObjectId>, Serializable {
 	}
 
 	public void setWords(final List<TopicWord> topicWords) {
-		this.words = topicWords;
+		words = topicWords;
 	}
 
 	public List<Sequence> getSequences() {
@@ -104,9 +104,9 @@ public class TopicFull implements Model<ObjectId>, Serializable {
 
 	@PrePersist
 	public void prePersist() {
-		this.modified = new Date();
-		if (this.created == null)
-			this.created = modified;
+		modified = new Date();
+		if (created == null)
+			created = modified;
 	}
 
 	public static String getNameFromWords(final List<TopicWord> words) {
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 ab0f87033e5e417a1032a71a4999c604db98be11..15b63e17f97c0e7c2863fcb6b894eb58d6c2e189 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
@@ -37,7 +37,7 @@ public class Word implements Model<String>, Serializable {
 		final Word w = (Word) o;
 		if (id == null)
 			return w.getId() == null;
-		return this.id.equals(w.getId());
+		return id.equals(w.getId());
 	}
 
 	@Override