diff --git a/src/main/java/de/deadlocker8/budgetmaster/ProgramArgs.java b/src/main/java/de/deadlocker8/budgetmaster/ProgramArgs.java
index 972706c9842879585190307f8299dd6865717a01..02ac26e1d7be2d96045c0f37700f1f651ef87bc4 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/ProgramArgs.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/ProgramArgs.java
@@ -1,15 +1,10 @@
 package de.deadlocker8.budgetmaster;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.util.ArrayList;
 import java.util.List;
 
 public class ProgramArgs
 {
-	private final static Logger LOGGER = LoggerFactory.getLogger(Main.class);
-
 	private static List<String> args = new ArrayList<>();
 
 	public static void setArgs(List<String> args)
diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java
index cab533d9c19ef491f2052904760afc30c0397be0..ff9f7084e264476c07790859dbfdba1016f11529 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountController.java
@@ -110,7 +110,7 @@ public class AccountController extends BaseController
 		return "accounts/newAccount";
 	}
 
-	@RequestMapping(value = "/accounts/newAccount", method = RequestMethod.POST)
+	@PostMapping(value = "/accounts/newAccount")
 	public String post(HttpServletRequest request, Model model,
 					   @ModelAttribute("NewAccount") Account account,
 					   BindingResult bindingResult)
diff --git a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
index 28735f78c04ece6bfb0bb76b42d112f6cc248680..675ff4d24ee452bf72dd7fa73704cd3ad5783e1b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/accounts/AccountService.java
@@ -78,7 +78,7 @@ public class AccountService implements Resetable
 	@Override
 	public void createDefaults()
 	{
-		if(accountRepository.findAll().size() == 0)
+		if(accountRepository.findAll().isEmpty())
 		{
 			Account placeholder = new Account("Placeholder", AccountType.ALL);
 			accountRepository.save(placeholder);
diff --git a/src/main/java/de/deadlocker8/budgetmaster/advices/ColorAdvice.java b/src/main/java/de/deadlocker8/budgetmaster/advices/ColorAdvice.java
index 124c05cded347a5fc2798edf4e7d456bde3d27c3..8c40e002de86c1bb45e2e87a900df956817c5f83 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/advices/ColorAdvice.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/advices/ColorAdvice.java
@@ -5,7 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ModelAttribute;
 
-import java.util.ArrayList;
+import java.util.List;
 
 @ControllerAdvice
 public class ColorAdvice
@@ -14,7 +14,7 @@ public class ColorAdvice
 	private HelpersService helpers;
 
 	@ModelAttribute("categoryColors")
-	public ArrayList<String> getCategoryColors()
+	public List<String> getCategoryColors()
 	{
 		return helpers.getCategoryColorList();
 	}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java b/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
index c854015d7fb819f6c966f9739be13b50724fd138..702d3b1ca73591e1478944ff8263c86d486cb0a8 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
@@ -23,7 +23,7 @@ public class UserService
 			userRepository.deleteAll();
 		}
 
-		if(userRepository.findAll().size() == 0)
+		if(userRepository.findAll().isEmpty())
 		{
 			BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
 			String encryptedPassword = bCryptPasswordEncoder.encode(DEFAULT_PASSWORD);
diff --git a/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java
index c1470ad59a48659bc060e982a9758a94cb8ab7a6..e29fb8dd40cf639fc1d422d795afaf8f8449823f 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java
@@ -10,10 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -26,6 +23,8 @@ public class CategoryController extends BaseController
 	private final HelpersService helpers;
 	private final SettingsService settingsService;
 
+	private final String WHITE = "#FFFFFF";
+
 	@Autowired
 	public CategoryController(CategoryService categoryService, HelpersService helpers, SettingsService settingsService)
 	{
@@ -62,7 +61,7 @@ public class CategoryController extends BaseController
 		return "categories/categories";
 	}
 
-	@RequestMapping(value = "/categories/{ID}/delete", method = RequestMethod.POST)
+	@PostMapping(value = "/categories/{ID}/delete")
 	public String deleteCategory(Model model, @PathVariable("ID") Integer ID, @ModelAttribute("DestinationCategory") DestinationCategory destinationCategory)
 	{
 		if(isDeletable(ID))
@@ -83,7 +82,7 @@ public class CategoryController extends BaseController
 	public String newCategory(Model model)
 	{
 		//add custom color (defaults to white here because we are adding a new category instead of editing an existing)
-		model.addAttribute("customColor", "#FFFFFF");
+		model.addAttribute("customColor", WHITE);
 		Category emptyCategory = new Category(null, ColorUtilsNonJavaFX.toRGBHexWithoutOpacity(Colors.CATEGORIES_LIGHT_GREY).toLowerCase(), CategoryType.CUSTOM);
 		model.addAttribute("category", emptyCategory);
 		model.addAttribute("settings", settingsService.getSettings());
@@ -101,7 +100,7 @@ public class CategoryController extends BaseController
 
 		if(helpers.getCategoryColorList().contains(category.getColor()))
 		{
-			model.addAttribute("customColor", "#FFFFFF");
+			model.addAttribute("customColor", WHITE);
 		}
 		else
 		{
@@ -113,7 +112,7 @@ public class CategoryController extends BaseController
 		return "categories/newCategory";
 	}
 
-	@RequestMapping(value = "/categories/newCategory", method = RequestMethod.POST)
+	@PostMapping(value = "/categories/newCategory")
 	public String post(Model model, @ModelAttribute("NewCategory") Category category, BindingResult bindingResult)
 	{
 		CategoryValidator userValidator = new CategoryValidator();
@@ -125,7 +124,7 @@ public class CategoryController extends BaseController
 
 			if(helpers.getCategoryColorList().contains(category.getColor()))
 			{
-				model.addAttribute("customColor", "#FFFFFF");
+				model.addAttribute("customColor", WHITE);
 			}
 			else
 			{
diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java
index f6fa420c70d814f5f75e8a004045f41c4e38cbb8..4b2ec96c76d0ffbc2255f6f55e93989af04e96fa 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java
@@ -18,10 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -67,7 +64,7 @@ public class ChartController extends BaseController
 		return "charts/charts";
 	}
 
-	@RequestMapping(value = "/charts", method = RequestMethod.POST)
+	@PostMapping(value = "/charts")
 	public String showChart(Model model, @ModelAttribute("NewChartSettings") ChartSettings chartSettings)
 	{
 		chartSettings.setFilterConfiguration(filterHelpersService.updateCategoriesAndTags(chartSettings.getFilterConfiguration()));
@@ -115,7 +112,7 @@ public class ChartController extends BaseController
 		return "charts/newChart";
 	}
 
-	@RequestMapping(value = "/charts/newChart", method = RequestMethod.POST)
+	@PostMapping(value = "/charts/newChart")
 	public String post(Model model, @ModelAttribute("NewChart") Chart chart, BindingResult bindingResult)
 	{
 		ChartValidator userValidator = new ChartValidator();
diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java b/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
index b21614347f8239ef404c9467283cbfae69787e7f..6c3877590786cfa5523c19cb9823bfac4bbabd1e 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
@@ -4,10 +4,7 @@ import de.thecodelabs.utils.io.IOUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.BufferedReader;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Comparator;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/DatePickerController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/DatePickerController.java
index 43e7b2af1c468164ea8b5033201313cc867375b9..3f245797cea23172e5fba3377b370b8c2cff461b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/DatePickerController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/DatePickerController.java
@@ -18,6 +18,8 @@ import javax.servlet.http.HttpServletResponse;
 @Controller
 public class DatePickerController extends BaseController
 {
+	private final String DATE_FORMAT = "dd.MM.yy";
+
 	private final SettingsRepository settingsRepository;
 	private final DateService dateService;
 
@@ -32,7 +34,7 @@ public class DatePickerController extends BaseController
 	public String previousMonth(HttpServletResponse response, @CookieValue("currentDate") String date, @RequestParam("target") String target)
 	{
 		Settings settings = settingsRepository.findOne(0);
-		DateTime currentDate = DateTime.parse(date, DateTimeFormat.forPattern("dd.MM.yy").withLocale(settings.getLanguage().getLocale()));
+		DateTime currentDate = DateTime.parse(date, DateTimeFormat.forPattern(DATE_FORMAT).withLocale(settings.getLanguage().getLocale()));
 		currentDate = currentDate.minusMonths(1);
 
 		response.addCookie(new Cookie("currentDate", dateService.getDateStringNormal(currentDate)));
@@ -43,7 +45,7 @@ public class DatePickerController extends BaseController
 	public String nextMonth(HttpServletResponse response, @CookieValue("currentDate") String date, @RequestParam("target") String target)
 	{
 		Settings settings = settingsRepository.findOne(0);
-		DateTime currentDate = DateTime.parse(date, DateTimeFormat.forPattern("dd.MM.yy").withLocale(settings.getLanguage().getLocale()));
+		DateTime currentDate = DateTime.parse(date, DateTimeFormat.forPattern(DATE_FORMAT).withLocale(settings.getLanguage().getLocale()));
 		currentDate = currentDate.plusMonths(1);
 
 		response.addCookie(new Cookie("currentDate", dateService.getDateStringNormal(currentDate)));
@@ -54,7 +56,7 @@ public class DatePickerController extends BaseController
 	public String setDate(HttpServletResponse response, @CookieValue("currentDate") String date, @RequestParam("target") String target)
 	{
 		Settings settings = settingsRepository.findOne(0);
-		DateTime currentDate = DateTime.parse(date, DateTimeFormat.forPattern("dd.MM.yy").withLocale(settings.getLanguage().getLocale()));
+		DateTime currentDate = DateTime.parse(date, DateTimeFormat.forPattern(DATE_FORMAT).withLocale(settings.getLanguage().getLocale()));
 
 		response.addCookie(new Cookie("currentDate", dateService.getDateStringNormal(currentDate)));
 		return "redirect:" + target;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java
deleted file mode 100644
index bb373fb794de2d6b0bb401c14a5c9906c3cc18d9..0000000000000000000000000000000000000000
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/EmptyPageController.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.deadlocker8.budgetmaster.controller;
-
-import de.deadlocker8.budgetmaster.settings.SettingsService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-
-
-@Controller
-public class EmptyPageController extends BaseController
-{
-	private final SettingsService settingsService;
-
-	@Autowired
-	public EmptyPageController(SettingsService settingsService)
-	{
-		this.settingsService = settingsService;
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseService.java b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseService.java
index e1a9c19bbe136d9bcc012243624e1c587bf53d1f..c86a139a7ab986d3ae4ed74a17de0f0737965da3 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseService.java
@@ -1,14 +1,16 @@
 package de.deadlocker8.budgetmaster.database;
 
-import com.google.gson.*;
-import de.deadlocker8.budgetmaster.accounts.AccountService;
-import de.deadlocker8.budgetmaster.categories.CategoryService;
-import de.deadlocker8.budgetmaster.database.Database;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonPrimitive;
+import com.google.gson.JsonSerializer;
 import de.deadlocker8.budgetmaster.accounts.Account;
+import de.deadlocker8.budgetmaster.accounts.AccountService;
 import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryService;
+import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.tags.TagService;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
-import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.transactions.TransactionService;
 import org.joda.time.DateTime;
 import org.joda.time.format.ISODateTimeFormat;
@@ -17,7 +19,6 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.List;
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/legacy/LegacyParser.java b/src/main/java/de/deadlocker8/budgetmaster/database/legacy/LegacyParser.java
index 048602b4dcf7b17803a488595fe60115e837caaf..8a940039078b7ed4d02d623fe17aad90b97c067c 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/legacy/LegacyParser.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/legacy/LegacyParser.java
@@ -26,6 +26,8 @@ import java.util.Set;
 @SuppressWarnings("deprecation")
 public class LegacyParser
 {
+	private final String DATE_FORMAT = "yyyy-MM-dd";
+
 	private Account account;
 	private String jsonString;
 	private List<Category> categories;
@@ -139,7 +141,7 @@ public class LegacyParser
 			transaction.setRepeatingOption(null);
 			transaction.setTags(getTagsByPaymentID(ID));
 
-			DateTime parsedDate = DateTime.parse(date, DateTimeFormat.forPattern("yyyy-MM-dd"));
+			DateTime parsedDate = DateTime.parse(date, DateTimeFormat.forPattern(DATE_FORMAT));
 			transaction.setDate(parsedDate);
 
 			parsedTransactions.add(transaction);
@@ -169,7 +171,7 @@ public class LegacyParser
 			transaction.setTags(getTagsByPaymentID(ID));
 			transaction.setAccount(account);
 
-			DateTime parsedDate = DateTime.parse(date, DateTimeFormat.forPattern("yyyy-MM-dd"));
+			DateTime parsedDate = DateTime.parse(date, DateTimeFormat.forPattern(DATE_FORMAT));
 			transaction.setDate(parsedDate);
 
 			transaction.setRepeatingOption(parseRepeatingOption(currentPayment.getAsJsonObject(), parsedDate));
@@ -189,7 +191,7 @@ public class LegacyParser
 		if(repeatingPayment.has("repeatEndDate"))
 		{
 			String repeatEndDate = repeatingPayment.get("repeatEndDate").getAsString();
-			repeatingOption.setEndOption(new RepeatingEndDate(DateTime.parse(repeatEndDate, DateTimeFormat.forPattern("yyyy-MM-dd"))));
+			repeatingOption.setEndOption(new RepeatingEndDate(DateTime.parse(repeatEndDate, DateTimeFormat.forPattern(DATE_FORMAT))));
 		}
 		else
 		{
diff --git a/src/main/java/de/deadlocker8/budgetmaster/filter/FilterController.java b/src/main/java/de/deadlocker8/budgetmaster/filter/FilterController.java
index 6aa7b79ea86e7ef0fe814e7169c656d97054bdf4..5fce48a14006ef6d29fa30c53389b414f58a3471 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/filter/FilterController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/filter/FilterController.java
@@ -4,6 +4,7 @@ import de.deadlocker8.budgetmaster.controller.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.context.request.WebRequest;
@@ -20,7 +21,7 @@ public class FilterController extends BaseController
 		this.filterHelpers = filterHelpers;
 	}
 
-	@RequestMapping(value = "/filter/apply", method = RequestMethod.POST)
+	@PostMapping(value = "/filter/apply")
 	public String post(WebRequest request, @ModelAttribute("NewFilterConfiguration") FilterConfiguration filterConfiguration)
 	{
 		request.setAttribute("filterConfiguration", filterConfiguration, WebRequest.SCOPE_SESSION);
diff --git a/src/main/java/de/deadlocker8/budgetmaster/filter/FilterHelpersService.java b/src/main/java/de/deadlocker8/budgetmaster/filter/FilterHelpersService.java
index 7af3b6491a2fefd3e5b14a829ac3b288af9d5b47..b665dba83853bbc4377c48d0a597e1655612b31b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/filter/FilterHelpersService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/filter/FilterHelpersService.java
@@ -4,8 +4,6 @@ import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.categories.CategoryService;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.tags.Tag;
-import de.deadlocker8.budgetmaster.filter.FilterObject;
-import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
 import de.deadlocker8.budgetmaster.tags.TagService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/repeating/RepeatingOptionRepository.java b/src/main/java/de/deadlocker8/budgetmaster/repeating/RepeatingOptionRepository.java
index 25e9a63fc2463a30e8b453fbf3ac6df0850dedb4..cc2ca138ca7e706dc5b5f2739c4621b93726ba6d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/repeating/RepeatingOptionRepository.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/repeating/RepeatingOptionRepository.java
@@ -1,6 +1,5 @@
 package de.deadlocker8.budgetmaster.repeating;
 
-import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.List;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/repeating/RepeatingTransactionUpdater.java b/src/main/java/de/deadlocker8/budgetmaster/repeating/RepeatingTransactionUpdater.java
index 545e0b3ccb3436f37cb4b54158d32a6ff839fc12..8e969125422d0ef786b0e61d08ad435a4dc45362 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/repeating/RepeatingTransactionUpdater.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/repeating/RepeatingTransactionUpdater.java
@@ -1,8 +1,6 @@
 package de.deadlocker8.budgetmaster.repeating;
 
 import de.deadlocker8.budgetmaster.transactions.Transaction;
-import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
-import de.deadlocker8.budgetmaster.services.HelpersService;
 import de.deadlocker8.budgetmaster.transactions.TransactionService;
 import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/HeaderFooterPageEvent.java b/src/main/java/de/deadlocker8/budgetmaster/reports/HeaderFooterPageEvent.java
index d6a7e482de9d78d592c1f6aad02df1613f3e3f26..733cc8acc3dc3a1fc65e810796270cf8eb2d4e0d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/reports/HeaderFooterPageEvent.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/reports/HeaderFooterPageEvent.java
@@ -12,11 +12,12 @@ import org.joda.time.DateTime;
 
 public class HeaderFooterPageEvent extends PdfPageEventHelper
 {
+	@Override
 	public void onStartPage(PdfWriter writer, Document document)
 	{
-		
 	}
 
+	@Override
 	public void onEndPage(PdfWriter writer, Document document)
 	{
 		Font font = FontFactory.getFont(Fonts.OPEN_SANS, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 8, Font.NORMAL, BaseColor.BLACK);
diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/ReportController.java b/src/main/java/de/deadlocker8/budgetmaster/reports/ReportController.java
index 15bb05c8d6b2dec4bab72e885e629e2637be6b6a..a83cd8ec49f0317b367c5980cf4df8d983b206dc 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/reports/ReportController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/reports/ReportController.java
@@ -19,10 +19,7 @@ import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.CookieValue;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
@@ -66,7 +63,7 @@ public class ReportController extends BaseController
 		return "reports/reports";
 	}
 
-	@RequestMapping(value = "/reports/generate", method = RequestMethod.POST)
+	@PostMapping(value = "/reports/generate")
 	public void post(HttpServletRequest request, HttpServletResponse response,
 					 @ModelAttribute("NewReportSettings") ReportSettings reportSettings)
 	{
diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/ReportGeneratorService.java b/src/main/java/de/deadlocker8/budgetmaster/reports/ReportGeneratorService.java
index a300b12f7dc71ec27ff2e9bd4cdfd84048c821fe..dc42f3b791e3832923b52d2aabb3727ccb729254 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/reports/ReportGeneratorService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/reports/ReportGeneratorService.java
@@ -24,7 +24,7 @@ public class ReportGeneratorService
 	@Autowired
 	HelpersService helpersService;
 
-	private final static String FONT = Fonts.OPEN_SANS;
+	private final String FONT = Fonts.OPEN_SANS;
 
 	@Autowired
 	public ReportGeneratorService(HelpersService helpersService)
diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/settings/ReportSettingsService.java b/src/main/java/de/deadlocker8/budgetmaster/reports/settings/ReportSettingsService.java
index e580690b8ee42c4b6ba7cb29f2913ab09b403048..9d3b3893d1fc82e4eddabd08436f40bf2e6cddd8 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/reports/settings/ReportSettingsService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/reports/settings/ReportSettingsService.java
@@ -2,8 +2,6 @@ package de.deadlocker8.budgetmaster.reports.settings;
 
 import de.deadlocker8.budgetmaster.reports.columns.ReportColumn;
 import de.deadlocker8.budgetmaster.reports.columns.ReportColumnService;
-import de.deadlocker8.budgetmaster.reports.settings.ReportSettings;
-import de.deadlocker8.budgetmaster.reports.settings.ReportSettingsRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/search/SearchController.java b/src/main/java/de/deadlocker8/budgetmaster/search/SearchController.java
index dc282d8c9caa90970124bcfb445675de1bcf973d..c516f009f515cc8981f1dd76d76629578b71442d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/search/SearchController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/search/SearchController.java
@@ -11,13 +11,9 @@ import org.springframework.data.domain.PageRequest;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import java.util.List;
 
 
 @Controller
@@ -33,7 +29,7 @@ public class SearchController extends BaseController
 		this.settingsService = settingsService;
 	}
 
-	@RequestMapping(value = "/search", method = RequestMethod.GET)
+	@RequestMapping(value = "/search")
 	public String search(Model model, Search search)
 	{
 		if(search.isEmptySearch())
@@ -42,7 +38,6 @@ public class SearchController extends BaseController
 		}
 
 		Specification<Transaction> specification = TransactionSearchSpecifications.withDynamicQuery(search);
-		System.out.println(settingsService.getSettings());
 		Page<Transaction> resultPage = transactionService.getRepository().findAll(specification, new PageRequest(search.getPage(), settingsService.getSettings().getSearchItemsPerPage()));
 		model.addAttribute("page", resultPage);
 		model.addAttribute("search", search);
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
index d90b807a0dd470680996faf7a0064ef9060bbec1..0030a5a62662e6083335b514748fd12bfb81b68e 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
@@ -1,22 +1,22 @@
 package de.deadlocker8.budgetmaster.services;
 
+import de.deadlocker8.budgetmaster.accounts.Account;
+import de.deadlocker8.budgetmaster.accounts.AccountRepository;
 import de.deadlocker8.budgetmaster.accounts.AccountService;
+import de.deadlocker8.budgetmaster.accounts.AccountType;
 import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryRepository;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatch;
+import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
+import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierType;
 import de.deadlocker8.budgetmaster.reports.Budget;
 import de.deadlocker8.budgetmaster.settings.Settings;
+import de.deadlocker8.budgetmaster.settings.SettingsRepository;
 import de.deadlocker8.budgetmaster.settings.SettingsService;
 import de.deadlocker8.budgetmaster.tags.Tag;
-import de.deadlocker8.budgetmaster.accounts.Account;
-import de.deadlocker8.budgetmaster.accounts.AccountType;
-import de.deadlocker8.budgetmaster.categories.CategoryType;
-import de.deadlocker8.budgetmaster.transactions.Transaction;
-import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
-import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierType;
-import de.deadlocker8.budgetmaster.accounts.AccountRepository;
-import de.deadlocker8.budgetmaster.categories.CategoryRepository;
-import de.deadlocker8.budgetmaster.settings.SettingsRepository;
 import de.deadlocker8.budgetmaster.tags.TagRepository;
+import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.transactions.TransactionService;
 import de.deadlocker8.budgetmaster.update.BudgetMasterUpdateService;
 import de.deadlocker8.budgetmaster.utils.Colors;
@@ -113,7 +113,7 @@ public class HelpersService
 		return text;
 	}
 
-	public ArrayList<String> getCategoryColorList()
+	public List<String> getCategoryColorList()
 	{
 		ArrayList<String> categoryColors = new ArrayList<>();
 		categoryColors.add(ColorUtilsNonJavaFX.toRGBHexWithoutOpacity(Colors.CATEGORIES_LIGHT_GREY).toLowerCase());
diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
index e9578f38cf31d81958eee415f20e02333592bca2..d27a0155d69d03062dea437d323243a7a38c9d91 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java
@@ -27,10 +27,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.context.request.RequestAttributes;
 import org.springframework.web.context.request.WebRequest;
 import org.springframework.web.multipart.MultipartFile;
@@ -79,7 +76,7 @@ public class SettingsController extends BaseController
 		return "settings/settings";
 	}
 
-	@RequestMapping(value = "/settings/save", method = RequestMethod.POST)
+	@PostMapping(value = "/settings/save")
 	public String post(Model model, @ModelAttribute("Settings") Settings settings, BindingResult bindingResult,
 					   @RequestParam(value = "password") String password,
 					   @RequestParam(value = "passwordConfirmation") String passwordConfirmation,
@@ -192,7 +189,7 @@ public class SettingsController extends BaseController
 		return "settings/settings";
 	}
 
-	@RequestMapping(value = "/settings/database/delete", method = RequestMethod.POST)
+	@PostMapping(value = "/settings/database/delete")
 	public String deleteDatabase(Model model, @RequestParam("verificationCode") String verificationCode,
 								 @RequestParam("verificationUserInput") String verificationUserInput)
 	{
diff --git a/src/main/java/de/deadlocker8/budgetmaster/tags/TagScheduler.java b/src/main/java/de/deadlocker8/budgetmaster/tags/TagScheduler.java
index e79851cbc059d293dc4289785bbc7edf5fd23dd5..fc0b7e9f40aaca1d84adc5e43094c4799d8fb077 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/tags/TagScheduler.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/tags/TagScheduler.java
@@ -31,7 +31,7 @@ public class TagScheduler
 		List<Tag> tags = tagRepository.findAll();
 		for(Tag tag : tags)
 		{
-			if(transactionRepository.findAllByTagsContaining(tag).size() == 0)
+			if(transactionRepository.findAllByTagsContaining(tag).isEmpty())
 			{
 				tagRepository.delete(tag);
 			}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java b/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java
index 661759d35da94f86999502d0df00696f42f087d6..46cd542b52cbbb4bd0880a04ad41009c289623ab 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java
@@ -1,7 +1,6 @@
 package de.deadlocker8.budgetmaster.tags;
 
 import de.deadlocker8.budgetmaster.services.Resetable;
-import de.deadlocker8.budgetmaster.tags.TagRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
index 578b55640ee49a012deb19c6cc220a0d17bae94f..cb99f52ebe867b39caf880f1c97cd6ecdfa20470 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
@@ -113,7 +113,7 @@ public class TransactionController extends BaseController
 		return "transactions/newTransaction" + StringUtils.capitalize(type);
 	}
 
-	@RequestMapping(value = "/transactions/newTransaction/normal", method = RequestMethod.POST)
+	@PostMapping(value = "/transactions/newTransaction/normal")
 	public String postNormal(Model model, @CookieValue("currentDate") String cookieDate,
 							 @ModelAttribute("NewTransaction") Transaction transaction, BindingResult bindingResult,
 							 @RequestParam(value = "isPayment", required = false) boolean isPayment)
@@ -132,7 +132,7 @@ public class TransactionController extends BaseController
 	}
 
 	@SuppressWarnings("ConstantConditions")
-	@RequestMapping(value = "/transactions/newTransaction/repeating", method = RequestMethod.POST)
+	@PostMapping(value = "/transactions/newTransaction/repeating")
 	public String postRepeating(Model model, @CookieValue("currentDate") String cookieDate,
 								@ModelAttribute("NewTransaction") Transaction transaction, BindingResult bindingResult,
 								@RequestParam(value = "isRepeating", required = false) boolean isRepeating,
@@ -182,7 +182,7 @@ public class TransactionController extends BaseController
 		return handleRedirect(model, transaction, bindingResult, date, "transactions/newTransactionRepeating");
 	}
 
-	@RequestMapping(value = "/transactions/newTransaction/transfer", method = RequestMethod.POST)
+	@PostMapping(value = "/transactions/newTransaction/transfer")
 	public String postTransfer(Model model, @CookieValue("currentDate") String cookieDate,
 							   @ModelAttribute("NewTransaction") Transaction transaction, BindingResult bindingResult,
 							   @RequestParam(value = "isPayment", required = false) boolean isPayment)
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
index c795fe9f7501e805e01b67dcc2bd3a8cb8389c8c..9bce43ab8076a832aebffe52de2572f27d39fb0f 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
@@ -23,7 +23,6 @@ import java.util.List;
 @Service
 public class TransactionService implements Resetable
 {
-	private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
 	private TransactionRepository transactionRepository;
 	private RepeatingOptionRepository repeatingOptionRepository;
 	private CategoryRepository categoryRepository;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java
index 61ca84fc054dff98f2227acb8974b21ff05486d4..63b4d4f574dbaa2d302d716b342178b6ad95b402 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionSpecifications.java
@@ -6,9 +6,9 @@ import de.deadlocker8.budgetmaster.tags.Tag_;
 import org.joda.time.DateTime;
 import org.springframework.data.jpa.domain.Specification;
 
-import javax.persistence.criteria.*;
+import javax.persistence.criteria.Join;
+import javax.persistence.criteria.Predicate;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.List;
 
 public class TransactionSpecifications
diff --git a/src/main/java/de/deadlocker8/budgetmaster/update/BudgetMasterUpdateService.java b/src/main/java/de/deadlocker8/budgetmaster/update/BudgetMasterUpdateService.java
index 246210ba7cba768439450156ca50124bbdc1c5ff..ed8e5bee59d7bb98d57d3b418f3f5e0992b46430 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/update/BudgetMasterUpdateService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/update/BudgetMasterUpdateService.java
@@ -27,7 +27,7 @@ import java.nio.file.Paths;
 @Service
 public class BudgetMasterUpdateService
 {
-	private final static Logger LOGGER = LoggerFactory.getLogger(Main.class);
+	private final static Logger LOGGER = LoggerFactory.getLogger(BudgetMasterUpdateService.class);
 
 	@Autowired
 	private Artifact artifact;