diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v5.java b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v5.java
index e796b16f9fbee6cbcab6dfc903f28367935edb54..c5e86fa870318db466922bed4d479f9a9792e384 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v5.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v5.java
@@ -2,15 +2,12 @@ package de.deadlocker8.budgetmaster.database;
 
 import com.google.gson.*;
 import de.deadlocker8.budgetmaster.database.model.v5.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class DatabaseParser_v5
 {
-	final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private final String jsonString;
 
 	private BackupDatabase_v5 database;
@@ -26,87 +23,24 @@ public class DatabaseParser_v5
 		database = new BackupDatabase_v5();
 
 		final JsonObject root = JsonParser.parseString(jsonString).getAsJsonObject();
-		database.setImages(parseImages(root));
-		database.setAccounts(parseAccounts(root));
-		database.setCategories(parseCategories(root));
-		database.setTransactions(parseTransactions(root));
-		database.setTemplates(parseTemplates(root));
-		database.setCharts(parseCharts(root));
+		database.setImages(parseItems(root.get("images").getAsJsonArray(), BackupImage_v5.class));
+		database.setAccounts(parseItems(root.get("accounts").getAsJsonArray(), BackupAccount_v5.class));
+		database.setCategories(parseItems(root.get("categories").getAsJsonArray(), BackupCategory_v5.class));
+		database.setTransactions(parseItems(root.get("transactions").getAsJsonArray(), BackupTransaction_v5.class));
+		database.setTemplates(parseItems(root.get("templates").getAsJsonArray(), BackupTemplate_v5.class));
+		database.setCharts(parseItems(root.get("charts").getAsJsonArray(), BackupChart_v5.class));
 
 		return database;
 	}
 
-	private List<BackupAccount_v5> parseAccounts(JsonObject root)
+	private <T> List<T> parseItems(JsonArray jsonArray, Class<T> itemType)
 	{
-		List<BackupAccount_v5> parsedAccounts = new ArrayList<>();
-		JsonArray accounts = root.get("accounts").getAsJsonArray();
-		for(JsonElement currentAccount : accounts)
+		List<T> parsedItems = new ArrayList<>();
+		for(JsonElement currentItem : jsonArray)
 		{
-			parsedAccounts.add(new Gson().fromJson(currentAccount, BackupAccount_v5.class));
+			parsedItems.add(new Gson().fromJson(currentItem, itemType));
 		}
 
-		return parsedAccounts;
-	}
-
-	private List<BackupCategory_v5> parseCategories(JsonObject root)
-	{
-		List<BackupCategory_v5> parsedCategories = new ArrayList<>();
-		JsonArray jsonCategories = root.get("categories").getAsJsonArray();
-		for(JsonElement currentCategory : jsonCategories)
-		{
-			parsedCategories.add(new Gson().fromJson(currentCategory, BackupCategory_v5.class));
-		}
-
-		return parsedCategories;
-	}
-
-	private List<BackupTransaction_v5> parseTransactions(JsonObject root)
-	{
-		List<BackupTransaction_v5> parsedTransactions = new ArrayList<>();
-		JsonArray transactionsToImport = root.get("transactions").getAsJsonArray();
-		for(JsonElement currentTransaction : transactionsToImport)
-		{
-			parsedTransactions.add(new Gson().fromJson(currentTransaction, BackupTransaction_v5.class));
-		}
-
-		return parsedTransactions;
-	}
-
-	private List<BackupChart_v5> parseCharts(JsonObject root)
-	{
-		List<BackupChart_v5> parsedCharts = new ArrayList<>();
-
-		JsonArray chartsToImport = root.get("charts").getAsJsonArray();
-		for(JsonElement currentChart : chartsToImport)
-		{
-			parsedCharts.add(new Gson().fromJson(currentChart, BackupChart_v5.class));
-		}
-
-		return parsedCharts;
-	}
-
-	private List<BackupImage_v5> parseImages(JsonObject root)
-	{
-		List<BackupImage_v5> parsedImages = new ArrayList<>();
-
-		JsonArray imagesToImport = root.get("images").getAsJsonArray();
-		for(JsonElement currentImage : imagesToImport)
-		{
-			parsedImages.add(new Gson().fromJson(currentImage, BackupImage_v5.class));
-		}
-
-		return parsedImages;
-	}
-
-	private List<BackupTemplate_v5> parseTemplates(JsonObject root)
-	{
-		final List<BackupTemplate_v5> parsedTemplates = new ArrayList<>();
-		final JsonArray templatesToImport = root.get("templates").getAsJsonArray();
-		for(JsonElement currentTemplate : templatesToImport)
-		{
-			parsedTemplates.add(new Gson().fromJson(currentTemplate, BackupTemplate_v5.class));
-		}
-
-		return parsedTemplates;
+		return parsedItems;
 	}
 }
\ No newline at end of file