diff --git a/src/main/java/de/deadlocker8/budgetmaster/entities/category/Category.java b/src/main/java/de/deadlocker8/budgetmaster/categories/Category.java
similarity index 97%
rename from src/main/java/de/deadlocker8/budgetmaster/entities/category/Category.java
rename to src/main/java/de/deadlocker8/budgetmaster/categories/Category.java
index 2ad786b1bf056ea039956166f4f008c07b703163..4eb52629c132b989a6f872f226ed425ad05b168c 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/entities/category/Category.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/categories/Category.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.entities.category;
+package de.deadlocker8.budgetmaster.categories;
 
 import com.google.gson.annotations.Expose;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/CategoryController.java b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java
similarity index 91%
rename from src/main/java/de/deadlocker8/budgetmaster/controller/CategoryController.java
rename to src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java
index b9a26510eb7119f915465985c79898443cefed9f..b7fc1bb939545a41e1ecd34fcc611fe72b72c3c5 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/CategoryController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryController.java
@@ -1,13 +1,9 @@
-package de.deadlocker8.budgetmaster.controller;
+package de.deadlocker8.budgetmaster.categories;
 
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
-import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
-import de.deadlocker8.budgetmaster.services.CategoryService;
+import de.deadlocker8.budgetmaster.controller.BaseController;
 import de.deadlocker8.budgetmaster.services.HelpersService;
 import de.deadlocker8.budgetmaster.utils.Colors;
 import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException;
-import de.deadlocker8.budgetmaster.validators.CategoryValidator;
 import de.thecodelabs.utils.util.ColorUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/repositories/CategoryRepository.java b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryRepository.java
similarity index 68%
rename from src/main/java/de/deadlocker8/budgetmaster/repositories/CategoryRepository.java
rename to src/main/java/de/deadlocker8/budgetmaster/categories/CategoryRepository.java
index 2e39888b5650bb0c1ede81936dbf9d6471edd99b..2a51a4fb727c493766deafa54b9fb5f606b7bb9d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/repositories/CategoryRepository.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryRepository.java
@@ -1,7 +1,7 @@
-package de.deadlocker8.budgetmaster.repositories;
+package de.deadlocker8.budgetmaster.categories;
 
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.List;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryService.java
similarity index 86%
rename from src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java
rename to src/main/java/de/deadlocker8/budgetmaster/categories/CategoryService.java
index 8aa9309590b649c11a19ed7e6799b0616412b4ef..cabe084ff399e757fa08ec233ef9e4041cff9a05 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryService.java
@@ -1,9 +1,10 @@
-package de.deadlocker8.budgetmaster.services;
+package de.deadlocker8.budgetmaster.categories;
 
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
+import de.deadlocker8.budgetmaster.services.Resetable;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
-import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
+import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.utils.Strings;
 import de.thecodelabs.utils.util.Localization;
 import org.slf4j.Logger;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryType.java b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryType.java
new file mode 100644
index 0000000000000000000000000000000000000000..40c9b5d4a9f36e1d52542ca0c5ac74c6cd27881a
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryType.java
@@ -0,0 +1,7 @@
+package de.deadlocker8.budgetmaster.categories;
+
+
+public enum CategoryType
+{
+	NONE, REST, CUSTOM
+}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/validators/CategoryValidator.java b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryValidator.java
similarity index 84%
rename from src/main/java/de/deadlocker8/budgetmaster/validators/CategoryValidator.java
rename to src/main/java/de/deadlocker8/budgetmaster/categories/CategoryValidator.java
index b32c6582ed28b1c19c6f8e5a0357a0b24e487b8f..f9645c3335eb057e5cb58a60be35297f06381dd1 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/validators/CategoryValidator.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/categories/CategoryValidator.java
@@ -1,6 +1,5 @@
-package de.deadlocker8.budgetmaster.validators;
+package de.deadlocker8.budgetmaster.categories;
 
-import de.deadlocker8.budgetmaster.entities.category.Category;
 import de.deadlocker8.budgetmaster.utils.Strings;
 import org.springframework.validation.Errors;
 import org.springframework.validation.ValidationUtils;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/FilterController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/FilterController.java
index d85f32a9759dd3777a9b94ce1b7b6b535ca7ad79..2a9a9a12564a8896bfdb501375f16fb89bdc2ae3 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/FilterController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/FilterController.java
@@ -1,7 +1,7 @@
 package de.deadlocker8.budgetmaster.controller;
 
 import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
-import de.deadlocker8.budgetmaster.services.CategoryService;
+import de.deadlocker8.budgetmaster.categories.CategoryService;
 import de.deadlocker8.budgetmaster.services.FilterHelpersService;
 import de.deadlocker8.budgetmaster.services.HelpersService;
 import de.deadlocker8.budgetmaster.transactions.TransactionService;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/ReportController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/ReportController.java
index a0a0edcd3473461fa3906e49febbcaf192fcb962..6237f6b007367e1015ddecd8f79185597a4ef36d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/ReportController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/ReportController.java
@@ -1,6 +1,7 @@
 package de.deadlocker8.budgetmaster.controller;
 
 import com.itextpdf.text.DocumentException;
+import de.deadlocker8.budgetmaster.categories.CategoryService;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.entities.account.Account;
 import de.deadlocker8.budgetmaster.entities.account.AccountType;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
index 587b9c2891f2eafbd04949646be969444f508a9d..11f77dd2a98b6775b50307fbf0bc6875212a1fb9 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
@@ -3,10 +3,11 @@ package de.deadlocker8.budgetmaster.controller;
 import de.deadlocker8.budgetmaster.Build;
 import de.deadlocker8.budgetmaster.authentication.User;
 import de.deadlocker8.budgetmaster.authentication.UserRepository;
+import de.deadlocker8.budgetmaster.categories.CategoryService;
 import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.database.DatabaseParser;
 import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatchList;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.entities.Settings;
 import de.deadlocker8.budgetmaster.repositories.SettingsRepository;
 import de.deadlocker8.budgetmaster.services.*;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/Database.java b/src/main/java/de/deadlocker8/budgetmaster/database/Database.java
index c56c526263a8de2179157f8d77ac0f36b0224890..00fb17d1474864d45cd2ec80ab8c32c789fa68ec 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/Database.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/Database.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.database;
 
 import com.google.gson.annotations.Expose;
 import de.deadlocker8.budgetmaster.entities.account.Account;
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 
 import java.util.List;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
index 71032960b1d1ae930a30b7fbe263f22dcc8ac77f..b1367a878425342b39974fa1cd52479eedc994b5 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
@@ -3,7 +3,7 @@ package de.deadlocker8.budgetmaster.database;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import de.deadlocker8.budgetmaster.database.legacy.LegacyParser;
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 import de.thecodelabs.utils.util.Localization;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java
index a61a4f717f26a220041f64fff668ee626b7cb57a..428e63687e0adf42b5ec6b4789b7b58ec85a8906 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.database;
 
 import com.google.gson.*;
 import de.deadlocker8.budgetmaster.entities.account.Account;
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
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 3cd746c71218ec3131d96f8a63be1b62423ab8ff..45435430ea57cf235549a61726c1274bce1d9e30 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/legacy/LegacyParser.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/legacy/LegacyParser.java
@@ -7,8 +7,8 @@ import com.google.gson.JsonParser;
 import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.entities.account.Account;
 import de.deadlocker8.budgetmaster.entities.account.AccountType;
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndDate;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/entities/category/CategoryType.java b/src/main/java/de/deadlocker8/budgetmaster/entities/category/CategoryType.java
deleted file mode 100644
index b484e7fb3853f879ba8872050593c181d66c4ee9..0000000000000000000000000000000000000000
--- a/src/main/java/de/deadlocker8/budgetmaster/entities/category/CategoryType.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.deadlocker8.budgetmaster.entities.category;
-
-
-public enum CategoryType
-{
-	NONE, REST, CUSTOM
-}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/categoryBudget/CategoryBudget.java b/src/main/java/de/deadlocker8/budgetmaster/reports/categoryBudget/CategoryBudget.java
index 0bfb49b779c957a13e52ab7e11619826bb56454f..1b073c05a1e3f31459e00841ff64c596566582d1 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/reports/categoryBudget/CategoryBudget.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/reports/categoryBudget/CategoryBudget.java
@@ -1,6 +1,6 @@
 package de.deadlocker8.budgetmaster.reports.categoryBudget;
 
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 
 public class CategoryBudget
 {
diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/categoryBudget/CategoryBudgetHandler.java b/src/main/java/de/deadlocker8/budgetmaster/reports/categoryBudget/CategoryBudgetHandler.java
index 14504115ca70042c596ff532fbe3965fcb713e32..e34b616f118a02194da030bfd82d553c567b038e 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/reports/categoryBudget/CategoryBudgetHandler.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/reports/categoryBudget/CategoryBudgetHandler.java
@@ -1,7 +1,7 @@
 package de.deadlocker8.budgetmaster.reports.categoryBudget;
 
 import de.deadlocker8.budgetmaster.transactions.Transaction;
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 
 import java.util.*;
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java b/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
index 08a126aeb990dcf1369849c23fd07f9ffa4986e6..6b1bc8e51344affc4045683dd75294f0272db004 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
@@ -1,9 +1,10 @@
 package de.deadlocker8.budgetmaster.services;
 
 import com.google.gson.*;
+import de.deadlocker8.budgetmaster.categories.CategoryService;
 import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.entities.account.Account;
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.transactions.TransactionService;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/FilterHelpersService.java b/src/main/java/de/deadlocker8/budgetmaster/services/FilterHelpersService.java
index 34860d74a64bcd1b829d5f1bfdbdfcbeca3d4112..8d9266965ebfae3c9a6470bfa0df82cde9ca1a24 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/FilterHelpersService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/FilterHelpersService.java
@@ -1,7 +1,8 @@
 package de.deadlocker8.budgetmaster.services;
 
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryService;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.filter.FilterObject;
 import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
index d7833340fd704ab7ac3dcb79ec5d91adc66f2106..bef574862868db4146361e1c2473fc8462df23be 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
@@ -5,12 +5,12 @@ import de.deadlocker8.budgetmaster.entities.Settings;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.entities.account.Account;
 import de.deadlocker8.budgetmaster.entities.account.AccountType;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+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.repositories.AccountRepository;
-import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
+import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.repositories.SettingsRepository;
 import de.deadlocker8.budgetmaster.repositories.TagRepository;
 import de.deadlocker8.budgetmaster.transactions.TransactionService;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java b/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
index 6a132508285f507f4deb8105de92327ae774463f..9fa63aefe533a6840c36a1f3ae8e1f6b657d5e55 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
@@ -3,11 +3,11 @@ package de.deadlocker8.budgetmaster.services;
 import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatch;
 import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatchList;
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
-import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
+import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.repositories.TagRepository;
 import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
 import org.slf4j.Logger;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction.java
index 2d2cfae86f6815992c5d707d7efd59271564172d..01d7d9dbbe5d74202c6acc54416fc5d21a4792bc 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction.java
@@ -3,7 +3,7 @@ package de.deadlocker8.budgetmaster.transactions;
 import com.google.gson.annotations.Expose;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.entities.account.Account;
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import org.joda.time.DateTime;
 import org.springframework.format.annotation.DateTimeFormat;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
index de9215669a3dce40960b28c21cf1ea825ffd3d58..459050fe959e2f9c8828aeb763db128d78c3f6c7 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
@@ -1,5 +1,6 @@
 package de.deadlocker8.budgetmaster.transactions;
 
+import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.controller.BaseController;
 import de.deadlocker8.budgetmaster.entities.Settings;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
index 0bab635345ebeca72e9d9a121b33c9a3535305c1..6cf787632caf71b05fee3f335bdbf9bf04356eb3 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionService.java
@@ -2,14 +2,11 @@ package de.deadlocker8.budgetmaster.transactions;
 
 import de.deadlocker8.budgetmaster.entities.account.Account;
 import de.deadlocker8.budgetmaster.entities.account.AccountType;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.services.Resetable;
-import de.deadlocker8.budgetmaster.transactions.Transaction;
-import de.deadlocker8.budgetmaster.transactions.TransactionSpecifications;
 import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
-import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
+import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.repositories.RepeatingOptionRepository;
-import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
 import de.deadlocker8.budgetmaster.utils.Strings;
 import de.thecodelabs.utils.util.Localization;
 import org.joda.time.DateTime;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction_.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction_.java
index eafe89583d00066faf0e93dd8dc0240e8739ef55..46f82af152bc28b476a632ef1c2ac8c4b4f1a371 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction_.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction_.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.transactions;
 
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.entities.account.Account;
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import org.joda.time.DateTime;
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/validators/AccountValidator.java b/src/main/java/de/deadlocker8/budgetmaster/validators/AccountValidator.java
index 24d7c03ddff99e2f9923ad11e434da1316a8b28d..70bdbda0ffd519c6a5cfe4b7b348e5b4d334c926 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/validators/AccountValidator.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/validators/AccountValidator.java
@@ -1,6 +1,6 @@
 package de.deadlocker8.budgetmaster.validators;
 
-import de.deadlocker8.budgetmaster.entities.category.Category;
+import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.utils.Strings;
 import org.springframework.validation.Errors;
 import org.springframework.validation.ValidationUtils;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/TransactionRepositoryTest.java b/src/test/java/de/deadlocker8/budgetmaster/TransactionRepositoryTest.java
index c753811f83a8c771fc4edcfe873bb6199566d427..16ba7469962b683587ead1fad190fbca92ecefb0 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/TransactionRepositoryTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/TransactionRepositoryTest.java
@@ -1,9 +1,10 @@
 package de.deadlocker8.budgetmaster;
 
+import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.entities.account.Account;
 import de.deadlocker8.budgetmaster.entities.account.AccountType;
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseImportTest.java b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseImportTest.java
index 45ca49d38707d86a8531b8ba0dd0cad8ac34ad9f..7d943ddc19f9a1c32188931578eb051bf28261c6 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseImportTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseImportTest.java
@@ -2,11 +2,11 @@ package de.deadlocker8.budgetmaster.database;
 
 import de.deadlocker8.budgetmaster.entities.account.Account;
 import de.deadlocker8.budgetmaster.entities.account.AccountType;
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
-import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
+import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.repositories.TagRepository;
 import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
 import de.deadlocker8.budgetmaster.services.ImportService;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
index 7addb5c90c3085f07637e770bf705f3274196f2e..80ded4c3c05469938e9efb854cfd20874d751be1 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
@@ -2,8 +2,8 @@ package de.deadlocker8.budgetmaster.database;
 
 import de.deadlocker8.budgetmaster.entities.account.Account;
 import de.deadlocker8.budgetmaster.entities.account.AccountType;
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java b/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
index 5ff56abc358fae0d8874a01262959f632bff3295..ff4e76a553a37c89bab6cd8886adb0fffb4ccfdd 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
@@ -3,8 +3,8 @@ package de.deadlocker8.budgetmaster.database;
 import de.deadlocker8.budgetmaster.database.legacy.LegacyParser;
 import de.deadlocker8.budgetmaster.entities.account.Account;
 import de.deadlocker8.budgetmaster.entities.account.AccountType;
-import de.deadlocker8.budgetmaster.entities.category.Category;
-import de.deadlocker8.budgetmaster.entities.category.CategoryType;
+import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.categories.CategoryType;
 import de.deadlocker8.budgetmaster.entities.tag.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;