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 af8ee9271bcca69f28207f77863b6470905d7879..7836c2f29e21457234009c855be4c01151e42214 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3.java
@@ -3,7 +3,7 @@ package de.deadlocker8.budgetmaster.database;
 import com.google.gson.*;
 import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.categories.Category;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.repeating.endoption.*;
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 9fd7406fae550a126d50f2a143bcf36fee6c6162..048602b4dcf7b17803a488595fe60115e837caaf 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/legacy/LegacyParser.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/legacy/LegacyParser.java
@@ -237,14 +237,14 @@ public class LegacyParser
 		return null;
 	}
 
-	private List<de.deadlocker8.budgetmaster.entities.tag.Tag> getTagsByPaymentID(int paymentID)
+	private List<de.deadlocker8.budgetmaster.tags.Tag> getTagsByPaymentID(int paymentID)
 	{
-		List<de.deadlocker8.budgetmaster.entities.tag.Tag> tags = new ArrayList<>();
+		List<de.deadlocker8.budgetmaster.tags.Tag> tags = new ArrayList<>();
 		for(TagMatch tagMatch : tagMatches)
 		{
 			if(tagMatch.getPaymentID() == paymentID)
 			{
-				tags.add(new de.deadlocker8.budgetmaster.entities.tag.Tag(tagMatch.getTagName()));
+				tags.add(new de.deadlocker8.budgetmaster.tags.Tag(tagMatch.getTagName()));
 			}
 		}
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/ReportGeneratorService.java b/src/main/java/de/deadlocker8/budgetmaster/reports/ReportGeneratorService.java
index 42f102880fff1512b0f083db37515c657b7b990f..41faab5b82a1b405b56ba241e5dcc992a5a1db3b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/reports/ReportGeneratorService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/reports/ReportGeneratorService.java
@@ -2,10 +2,9 @@ package de.deadlocker8.budgetmaster.reports;
 
 import com.itextpdf.text.*;
 import com.itextpdf.text.pdf.*;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.reports.columns.ReportColumn;
-import de.deadlocker8.budgetmaster.reports.*;
 import de.deadlocker8.budgetmaster.reports.categoryBudget.CategoryBudget;
 import de.deadlocker8.budgetmaster.services.HelpersService;
 import de.deadlocker8.budgetmaster.utils.Strings;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/reports/columns/ReportColumnService.java b/src/main/java/de/deadlocker8/budgetmaster/reports/columns/ReportColumnService.java
index bda80eb4d445a3eedc205e8b5ebb16cb7c264132..7c59f20ab7b8809d7b0fc231d3333451a38bb8ec 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/reports/columns/ReportColumnService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/reports/columns/ReportColumnService.java
@@ -1,8 +1,6 @@
 package de.deadlocker8.budgetmaster.reports.columns;
 
-import de.deadlocker8.budgetmaster.reports.columns.ReportColumn;
 import de.deadlocker8.budgetmaster.reports.settings.ReportSettings;
-import de.deadlocker8.budgetmaster.reports.columns.ReportColumnRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java b/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
index 34b1ef8f842d752318862350185ceaf485b5b1d0..602d18ee7b014ab0fcf2cee75cfadbfcbbe3207d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
@@ -6,6 +6,7 @@ import de.deadlocker8.budgetmaster.categories.CategoryService;
 import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.categories.Category;
+import de.deadlocker8.budgetmaster.tags.TagService;
 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 8d9266965ebfae3c9a6470bfa0df82cde9ca1a24..90ff0776b1a52aaa72de0de17c188aaaea729f1a 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/FilterHelpersService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/FilterHelpersService.java
@@ -3,9 +3,10 @@ package de.deadlocker8.budgetmaster.services;
 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.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/services/HelpersService.java b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
index 84f7180688a90c47f06aaa4485c7cfe806e8e9c6..6024996a58bb94e203e131584f6d16568eec5cd9 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/HelpersService.java
@@ -3,7 +3,7 @@ package de.deadlocker8.budgetmaster.services;
 import de.deadlocker8.budgetmaster.accounts.AccountService;
 import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatch;
 import de.deadlocker8.budgetmaster.entities.Settings;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.accounts.AccountType;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
@@ -13,7 +13,7 @@ import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierType;
 import de.deadlocker8.budgetmaster.accounts.AccountRepository;
 import de.deadlocker8.budgetmaster.categories.CategoryRepository;
 import de.deadlocker8.budgetmaster.repositories.SettingsRepository;
-import de.deadlocker8.budgetmaster.repositories.TagRepository;
+import de.deadlocker8.budgetmaster.tags.TagRepository;
 import de.deadlocker8.budgetmaster.transactions.TransactionService;
 import de.deadlocker8.budgetmaster.update.BudgetMasterUpdateService;
 import de.deadlocker8.budgetmaster.utils.Colors;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java b/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
index 9fa63aefe533a6840c36a1f3ae8e1f6b657d5e55..59700cc2d22436a3c9a05036b0a54a9d7a11f29d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/ImportService.java
@@ -5,10 +5,10 @@ import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatch;
 import de.deadlocker8.budgetmaster.database.accountmatches.AccountMatchList;
 import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.categories.CategoryRepository;
-import de.deadlocker8.budgetmaster.repositories.TagRepository;
+import de.deadlocker8.budgetmaster.tags.TagRepository;
 import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/entities/tag/Tag.java b/src/main/java/de/deadlocker8/budgetmaster/tags/Tag.java
similarity index 96%
rename from src/main/java/de/deadlocker8/budgetmaster/entities/tag/Tag.java
rename to src/main/java/de/deadlocker8/budgetmaster/tags/Tag.java
index 19a2da1f6429105be57cfb4e9b17668f7390b8e0..2dd31d96ea8fce2ff092d2f9a3b31395b3bf8e31 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/entities/tag/Tag.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/tags/Tag.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.entities.tag;
+package de.deadlocker8.budgetmaster.tags;
 
 import com.google.gson.annotations.Expose;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/repositories/TagRepository.java b/src/main/java/de/deadlocker8/budgetmaster/tags/TagRepository.java
similarity index 68%
rename from src/main/java/de/deadlocker8/budgetmaster/repositories/TagRepository.java
rename to src/main/java/de/deadlocker8/budgetmaster/tags/TagRepository.java
index dce776463ced743d26270cf21bed831fa978060e..0c4e6205e040ad16c186bfe3355cbf96c4bb0e3b 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/repositories/TagRepository.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/tags/TagRepository.java
@@ -1,6 +1,6 @@
-package de.deadlocker8.budgetmaster.repositories;
+package de.deadlocker8.budgetmaster.tags;
 
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.List;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/entities/tag/TagScheduler.java b/src/main/java/de/deadlocker8/budgetmaster/tags/TagScheduler.java
similarity index 90%
rename from src/main/java/de/deadlocker8/budgetmaster/entities/tag/TagScheduler.java
rename to src/main/java/de/deadlocker8/budgetmaster/tags/TagScheduler.java
index 87838298cf42207f9def2a5f76d715eacb3671af..e79851cbc059d293dc4289785bbc7edf5fd23dd5 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/entities/tag/TagScheduler.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/tags/TagScheduler.java
@@ -1,6 +1,5 @@
-package de.deadlocker8.budgetmaster.entities.tag;
+package de.deadlocker8.budgetmaster.tags;
 
-import de.deadlocker8.budgetmaster.repositories.TagRepository;
 import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/TagService.java b/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java
similarity index 80%
rename from src/main/java/de/deadlocker8/budgetmaster/services/TagService.java
rename to src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java
index e5f767dcff2624a737e8b289a7ee6eaa42678995..661759d35da94f86999502d0df00696f42f087d6 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/TagService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/tags/TagService.java
@@ -1,6 +1,7 @@
-package de.deadlocker8.budgetmaster.services;
+package de.deadlocker8.budgetmaster.tags;
 
-import de.deadlocker8.budgetmaster.repositories.TagRepository;
+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/Transaction.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction.java
index 24962d0f653b725eb400a0d40e03d41189ce006d..8e35aea79687a82b7661aa06dffe5887b2642ab3 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction.java
@@ -1,7 +1,7 @@
 package de.deadlocker8.budgetmaster.transactions;
 
 import com.google.gson.annotations.Expose;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
index 97f214c17d3e53ddb5c08a29269100f82216b4ed..f932af67a1f967aa55e558779f79c121b64c669d 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java
@@ -3,7 +3,7 @@ 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;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.repeating.RepeatingTransactionUpdater;
@@ -14,6 +14,7 @@ import de.deadlocker8.budgetmaster.repositories.*;
 import de.deadlocker8.budgetmaster.accounts.AccountService;
 import de.deadlocker8.budgetmaster.services.FilterHelpersService;
 import de.deadlocker8.budgetmaster.services.HelpersService;
+import de.deadlocker8.budgetmaster.tags.TagRepository;
 import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException;
 import org.joda.time.DateTime;
 import org.joda.time.format.DateTimeFormat;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionRepository.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionRepository.java
index 18c29775f47d36c9daf619c3d5ee475936ef2e2f..bf13afcde520391e00809cc2c7c5f49eed279a19 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionRepository.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionRepository.java
@@ -1,6 +1,6 @@
 package de.deadlocker8.budgetmaster.transactions;
 
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.accounts.Account;
 import org.joda.time.DateTime;
 import org.springframework.data.jpa.repository.JpaRepository;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction_.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction_.java
index 9020515ea8436a16f6b1ecf1ac8ea5fdd4f963b9..38498990a19ad53804b22640d6868626409011e9 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction_.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/Transaction_.java
@@ -1,6 +1,6 @@
 package de.deadlocker8.budgetmaster.transactions;
 
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/TransactionRepositoryTest.java b/src/test/java/de/deadlocker8/budgetmaster/TransactionRepositoryTest.java
index 740ea316cec1d7deba48a2b05b2a6907ee6884d9..5f48b9b76864fe2e96494bd7aa90a59e661d9c13 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/TransactionRepositoryTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/TransactionRepositoryTest.java
@@ -6,7 +6,8 @@ import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.accounts.AccountType;
 import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
+import de.deadlocker8.budgetmaster.tags.TagRepository;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
 import de.deadlocker8.budgetmaster.transactions.TransactionSpecifications;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseImportTest.java b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseImportTest.java
index b54e71004ed31e4399dc0495a8b8d8e367f430d6..cc7351c1347494905ccfc26789c33ad2d1b9d81b 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseImportTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseImportTest.java
@@ -4,10 +4,10 @@ import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.accounts.AccountType;
 import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.categories.CategoryRepository;
-import de.deadlocker8.budgetmaster.repositories.TagRepository;
+import de.deadlocker8.budgetmaster.tags.TagRepository;
 import de.deadlocker8.budgetmaster.transactions.TransactionRepository;
 import de.deadlocker8.budgetmaster.services.ImportService;
 import org.joda.time.DateTime;
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 a00968459e117aff9c0f9cddeccd5a76acf0f2c9..533399ea6d1b348296c962d8dfbbfa768d36b9a9 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
@@ -4,7 +4,7 @@ import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.accounts.AccountType;
 import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndAfterXTimes;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java b/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
index 1b7cb469160440867c41c9b5c809fdc60395ff0a..cd2dee4081febf921d62899fcd30856e9adb347e 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
@@ -5,7 +5,7 @@ import de.deadlocker8.budgetmaster.accounts.Account;
 import de.deadlocker8.budgetmaster.accounts.AccountType;
 import de.deadlocker8.budgetmaster.categories.Category;
 import de.deadlocker8.budgetmaster.categories.CategoryType;
-import de.deadlocker8.budgetmaster.entities.tag.Tag;
+import de.deadlocker8.budgetmaster.tags.Tag;
 import de.deadlocker8.budgetmaster.transactions.Transaction;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndDate;