From 65a1bbfb10d7d6fedd55be2d0ec30bb88db74bcd Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sun, 1 Oct 2017 15:57:01 +0200
Subject: [PATCH] converted to maven project, splitted into serve, client and
 core

---
 .classpath                                    |  18 ----
 .settings/org.eclipse.jdt.core.prefs          |  98 ------------------
 BudgetMasterClient/.classpath                 |  36 +++++++
 BudgetMasterClient/.project                   |  23 ++++
 .../.settings/org.eclipse.jdt.core.prefs      |   5 +
 .../.settings}/org.eclipse.m2e.core.prefs     |   0
 BudgetMasterClient/pom.xml                    |  83 +++++++++++++++
 .../budgetmasterclient}/main/Main.java        |   8 +-
 .../budgetmasterclient}/ui/Refreshable.java   |   2 +-
 .../budgetmasterclient}/ui/Styleable.java     |   2 +-
 .../ui/cells/ButtonCategoryCell.java          |   2 +-
 .../ui/cells/CategoryBudgetCell.java          |   4 +-
 .../ui/cells/CategoryCell.java                |   4 +-
 .../ui/cells/LanguageCell.java                |   4 +-
 .../ui/cells/PaymentCell.java                 |   4 +-
 .../ui/cells/RepeatingDayCell.java            |   2 +-
 .../ui/cells/SearchCell.java                  |   4 +-
 .../ui/cells/SmallCategoryCell.java           |   2 +-
 .../report/table/ReportTableRatingCell.java   |   2 +-
 .../table/ReportTableRepeatingCell.java       |   2 +-
 .../ui/colorPick/ColorPickController.java     |   2 +-
 .../ui/colorPick/ColorPickGUI.fxml            |   0
 .../ui/colorPick/ColorView.java               |   4 +-
 .../ui/controller/BaseController.java         |   2 +-
 .../ui/controller/CategoryController.java     |   8 +-
 .../ui/controller/ChartController.java        |   9 +-
 .../ui/controller/Controller.java             |   9 +-
 .../ui/controller/DatePickerController.java   |   4 +-
 .../ui/controller/ExportChartController.java  |   4 +-
 .../ui/controller/FilterController.java       |   4 +-
 .../ui/controller/HomeController.java         |   8 +-
 .../ui/controller/ModalController.java        |   2 +-
 .../ui/controller/NewCategoryController.java  |   6 +-
 .../ui/controller/NewPaymentController.java   |  12 +--
 .../ui/controller/PaymentController.java      |   8 +-
 .../ui/controller/ReportController.java       |  13 +--
 .../ui/controller/SearchController.java       |   9 +-
 .../ui/controller/SettingsController.java     |  19 ++--
 .../ui/controller/SplashScreenController.java |   6 +-
 .../ui/customAlert/CustomAlert.fxml           |   0
 .../ui/customAlert/CustomAlertController.java |   6 +-
 .../ui/tagField/TagField.java                 |   4 +-
 .../budgetmasterclient/utils/UIHelpers.java   |  44 ++++++++
 .../deadlocker8/budgetmaster}/changelog.json  |   0
 .../budgetmaster}/flags/english.png           | Bin
 .../budgetmaster}/flags/german.png            | Bin
 .../budgetmaster}/fonts/OpenSans-Regular.ttf  | Bin
 .../de/deadlocker8/budgetmaster}/icon.png     | Bin
 .../budgetmaster}/languages/_de.properties    |   0
 .../budgetmaster}/languages/_en.properties    |   0
 .../budgetmaster/ui/fxml/CategoryTab.fxml     |   2 +-
 .../budgetmaster/ui/fxml/ChartTab.fxml        |   2 +-
 .../budgetmaster/ui/fxml/DatePickerGUI.fxml   |   0
 .../budgetmaster/ui/fxml/ExportChartGUI.fxml  |   0
 .../budgetmaster/ui/fxml/FilterGUI.fxml       |   0
 .../deadlocker8/budgetmaster/ui/fxml/GUI.fxml |   0
 .../budgetmaster/ui/fxml/HomeTab.fxml         |   2 +-
 .../budgetmaster/ui/fxml/Modal.fxml           |   2 +-
 .../budgetmaster/ui/fxml/NewCategoryGUI.fxml  |   0
 .../budgetmaster/ui/fxml/NewPaymentGUI.fxml   |   0
 .../budgetmaster/ui/fxml/PaymentTab.fxml      |   2 +-
 .../budgetmaster/ui/fxml/ReportTab.fxml       |   2 +-
 .../budgetmaster/ui/fxml/SearchGUI.fxml       |   0
 .../budgetmaster/ui/fxml/SettingsTab.fxml     |   2 +-
 .../budgetmaster/ui/fxml/SplashScreen.fxml    |   0
 .../de/deadlocker8/budgetmaster/ui/style.css  |   0
 BudgetMasterCore/.classpath                   |  36 +++++++
 BudgetMasterCore/.project                     |  23 ++++
 .../.settings/org.eclipse.jdt.core.prefs      |   5 +
 .../.settings/org.eclipse.m2e.core.prefs      |   4 +
 BudgetMasterCore/pom.xml                      |  45 ++++++++
 .../budgetmaster/logic/Budget.java            |   0
 .../budgetmaster/logic/FilterSettings.java    |   0
 .../budgetmaster/logic/Settings.java          |   0
 .../budgetmaster/logic/category/Category.java |   0
 .../logic/category/CategoryBudget.java        |   0
 .../logic/category/CategoryHandler.java       |   0
 .../logic/charts/CategoriesChart.java         |   0
 .../logic/charts/CategoryInOutSum.java        |   0
 .../logic/charts/ChartExportable.java         |   0
 .../budgetmaster/logic/charts/LegendType.java |   0
 .../logic/charts/MonthBarChart.java           |   0
 .../logic/charts/MonthInOutSum.java           |   0
 .../logic/charts/MonthLineChart.java          |   0
 .../logic/comparators/DateComparator.java     |   0
 .../logic/comparators/RatingComparator.java   |   0
 .../logic/database/Database.java              |   2 +-
 .../logic/database/DatabaseImportExport.java  |   2 +-
 .../logic/database/OldDatabase.java           |   2 +-
 .../logic/payment/LatestRepeatingPayment.java |   0
 .../logic/payment/NormalPayment.java          |   0
 .../budgetmaster/logic/payment/Payment.java   |   0
 .../logic/payment/PaymentHandler.java         |   0
 .../payment/PaymentJSONDeserializer.java      |   0
 .../logic/payment/PaymentJSONSerializer.java  |   0
 .../logic/payment/RepeatingPayment.java       |   0
 .../logic/payment/RepeatingPaymentEntry.java  |   0
 .../budgetmaster/logic/report/AmountType.java |   0
 .../logic/report/ColumnFilter.java            |   0
 .../logic/report/ColumnOrder.java             |   0
 .../budgetmaster/logic/report/ColumnType.java |   0
 .../logic/report/HeaderFooterPageEvent.java   |   0
 .../logic/report/ReportGenerator.java         |   0
 .../budgetmaster/logic/report/ReportItem.java |   0
 .../logic/report/ReportPreferences.java       |   0
 .../logic/report/ReportSorting.java           |   0
 .../logic/search/SearchPreferences.java       |   0
 .../serverconnection/ExceptionHandler.java    |   0
 .../serverconnection/ServerConnection.java    |   2 +-
 .../ServerConnectionException.java            |   0
 .../serverconnection/ServerTagConnection.java |   0
 .../budgetmaster/logic/tag/Tag.java           |   0
 .../budgetmaster/logic/tag/TagHandler.java    |   0
 .../budgetmaster/logic/tag/TagMatch.java      |   2 +-
 .../budgetmaster/logic/updater/Updater.java   |   0
 .../logic/updater/VersionInformation.java     |   0
 .../budgetmaster/logic/utils/Colors.java      |   0
 .../budgetmaster/logic/utils/FileHelper.java  |   4 +-
 .../budgetmaster/logic/utils/Fonts.java       |   0
 .../budgetmaster/logic/utils/Helpers.java     |  36 -------
 .../logic/utils/LanguageType.java             |   0
 .../logic/utils/SaveFileType.java             |   0
 .../budgetmaster/logic/utils/Strings.java     |   0
 BudgetMasterServer/.classpath                 |  36 +++++++
 BudgetMasterServer/.project                   |  23 ++++
 .../.settings/org.eclipse.jdt.core.prefs      |   5 +
 .../.settings/org.eclipse.m2e.core.prefs      |   4 +
 BudgetMasterServer/pom.xml                    |  94 +++++++++++++++++
 .../budgetmasterserver/logic/Settings.java    |   0
 .../budgetmasterserver/logic/Utils.java       |   0
 .../logic/database/DatabaseCreator.java       |   0
 .../logic/database/DatabaseExporter.java      |   1 +
 .../logic/database/DatabaseHandler.java       |   0
 .../logic/database/DatabaseImporter.java      |   1 +
 .../logic/database/DatabaseTagHandler.java    |   0
 .../budgetmasterserver/main/Main.java         |  19 ++--
 .../server/SparkServer.java                   |   0
 .../server/category/CategoryAdd.java          |   0
 .../server/category/CategoryDelete.java       |   0
 .../server/category/CategoryGet.java          |   0
 .../server/category/CategoryGetAll.java       |   0
 .../server/category/CategoryUpdate.java       |   0
 .../categorybudget/CategoryBudgetGet.java     |   0
 .../charts/CategoryInOutSumForMonth.java      |   0
 .../server/charts/MonthInOutSum.java          |   0
 .../server/database/DatabaseDelete.java       |   0
 .../server/database/DatabaseExport.java       |   0
 .../server/database/DatabaseImport.java       |   2 +-
 .../server/payment/normal/PaymentAdd.java     |   0
 .../server/payment/normal/PaymentDelete.java  |   0
 .../server/payment/normal/PaymentGet.java     |   0
 .../server/payment/normal/PaymentUpdate.java  |   0
 .../repeating/RepeatingPaymentAdd.java        |   0
 .../repeating/RepeatingPaymentDelete.java     |   0
 .../repeating/RepeatingPaymentGet.java        |   0
 .../repeating/RepeatingPaymentGetAll.java     |   0
 .../payment/search/PaymentMaxAmount.java      |   0
 .../server/payment/search/PaymentSearch.java  |   0
 .../server/rest/RestGet.java                  |   0
 .../tag/match/TagMatchAddForPayment.java      |   0
 .../match/TagMatchAddForRepeatingPayment.java |   0
 .../tag/match/TagMatchDeleteForPayment.java   |   0
 .../TagMatchDeleteForRepeatingPayment.java    |   0
 .../tag/match/TagMatchExistingForPayment.java |   0
 .../TagMatchExistingForRepeatingPayment.java  |   0
 .../tag/match/TagMatchGetAllForPayment.java   |   0
 .../TagMatchGetAllForRepeatingPayment.java    |   0
 .../server/tag/tag/TagAdd.java                |   0
 .../server/tag/tag/TagDelete.java             |   0
 .../server/tag/tag/TagGet.java                |   0
 .../server/tag/tag/TagGetAll.java             |   0
 .../server/tag/tag/TagGetByName.java          |   0
 .../updater/RepeatingPaymentUpdater.java      |   0
 .../server/updater/TagUpdater.java            |   0
 .../server/version/VersionGet.java            |   0
 .../budgetmasterserver/_en.properties         |   5 +-
 .../budgetmasterserver}/settings.json         |   0
 .../tests}/database/DatabaseHandlerTest.java  |   6 +-
 .../database/DatabaseImportExportTest.java    |  18 ++--
 .../database/DatabaseTagHandlerTest.java      |   2 +-
 .../tests}/settings/SettingsTest.java         |   2 +-
 .../deadlocker8/budgetmaster/_en.properties   |   8 ++
 .../de/deadlocker8/budgetmaster}/export.json  |   0
 .../de/deadlocker8/budgetmaster}/import.json  |   0
 pom.xml                                       |  73 -------------
 settings.json                                 |  10 --
 186 files changed, 611 insertions(+), 363 deletions(-)
 delete mode 100644 .classpath
 delete mode 100644 .settings/org.eclipse.jdt.core.prefs
 create mode 100644 BudgetMasterClient/.classpath
 create mode 100644 BudgetMasterClient/.project
 create mode 100644 BudgetMasterClient/.settings/org.eclipse.jdt.core.prefs
 rename {.settings => BudgetMasterClient/.settings}/org.eclipse.m2e.core.prefs (100%)
 create mode 100644 BudgetMasterClient/pom.xml
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/main/Main.java (85%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/Refreshable.java (52%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/Styleable.java (56%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/ButtonCategoryCell.java (95%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/CategoryBudgetCell.java (96%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/CategoryCell.java (97%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/LanguageCell.java (90%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/PaymentCell.java (98%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/RepeatingDayCell.java (85%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/SearchCell.java (98%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/SmallCategoryCell.java (96%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/report/table/ReportTableRatingCell.java (94%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/cells/report/table/ReportTableRepeatingCell.java (94%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/colorPick/ColorPickController.java (98%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/colorPick/ColorPickGUI.fxml (100%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/colorPick/ColorView.java (97%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/BaseController.java (94%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/CategoryController.java (93%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/ChartController.java (96%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/Controller.java (97%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/DatePickerController.java (97%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/ExportChartController.java (98%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/FilterController.java (98%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/HomeController.java (92%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/ModalController.java (84%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/NewCategoryController.java (97%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/NewPaymentController.java (98%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/PaymentController.java (97%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/ReportController.java (97%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/SearchController.java (96%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/SettingsController.java (95%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/controller/SplashScreenController.java (96%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/customAlert/CustomAlert.fxml (100%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/customAlert/CustomAlertController.java (91%)
 rename {src/de/deadlocker8/budgetmaster => BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient}/ui/tagField/TagField.java (97%)
 create mode 100644 BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/utils/UIHelpers.java
 rename {src/de/deadlocker8/budgetmaster/resources => BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster}/changelog.json (100%)
 rename {src/de/deadlocker8/budgetmaster/resources => BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster}/flags/english.png (100%)
 rename {src/de/deadlocker8/budgetmaster/resources => BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster}/flags/german.png (100%)
 rename {src/de/deadlocker8/budgetmaster/resources => BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster}/fonts/OpenSans-Regular.ttf (100%)
 rename {src/de/deadlocker8/budgetmaster/resources => BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster}/icon.png (100%)
 rename {src/de/deadlocker8/budgetmaster/resources => BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster}/languages/_de.properties (100%)
 rename {src/de/deadlocker8/budgetmaster/resources => BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster}/languages/_en.properties (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/CategoryTab.fxml (91%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/ChartTab.fxml (98%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/ExportChartGUI.fxml (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/FilterGUI.fxml (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/GUI.fxml (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/HomeTab.fxml (94%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml (83%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/NewCategoryGUI.fxml (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/NewPaymentGUI.fxml (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/PaymentTab.fxml (97%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/ReportTab.fxml (97%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/SearchGUI.fxml (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/SettingsTab.fxml (99%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/fxml/SplashScreen.fxml (100%)
 rename {src => BudgetMasterClient/src/main/resources}/de/deadlocker8/budgetmaster/ui/style.css (100%)
 create mode 100644 BudgetMasterCore/.classpath
 create mode 100644 BudgetMasterCore/.project
 create mode 100644 BudgetMasterCore/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 BudgetMasterCore/.settings/org.eclipse.m2e.core.prefs
 create mode 100644 BudgetMasterCore/pom.xml
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/Budget.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/FilterSettings.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/Settings.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/category/Category.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/category/CategoryBudget.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/category/CategoryHandler.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/charts/CategoryInOutSum.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/charts/LegendType.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/charts/MonthInOutSum.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/comparators/DateComparator.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/comparators/RatingComparator.java (100%)
 rename {src/de/deadlocker8/budgetmasterserver => BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster}/logic/database/Database.java (97%)
 rename {src/de/deadlocker8/budgetmasterserver => BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster}/logic/database/DatabaseImportExport.java (86%)
 rename {src/de/deadlocker8/budgetmasterserver => BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster}/logic/database/OldDatabase.java (94%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/payment/LatestRepeatingPayment.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/payment/NormalPayment.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/payment/Payment.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/payment/PaymentHandler.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONDeserializer.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONSerializer.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/payment/RepeatingPayment.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/payment/RepeatingPaymentEntry.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/AmountType.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/ColumnFilter.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/ColumnOrder.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/ColumnType.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/HeaderFooterPageEvent.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/ReportGenerator.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/ReportItem.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/ReportPreferences.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/report/ReportSorting.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/search/SearchPreferences.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/serverconnection/ExceptionHandler.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java (99%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnectionException.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/serverconnection/ServerTagConnection.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/tag/Tag.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/tag/TagHandler.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/tag/TagMatch.java (92%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/updater/Updater.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/updater/VersionInformation.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/utils/Colors.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java (96%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/utils/Fonts.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/utils/Helpers.java (77%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/utils/LanguageType.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/utils/SaveFileType.java (100%)
 rename {src => BudgetMasterCore/src/main/java}/de/deadlocker8/budgetmaster/logic/utils/Strings.java (100%)
 create mode 100644 BudgetMasterServer/.classpath
 create mode 100644 BudgetMasterServer/.project
 create mode 100644 BudgetMasterServer/.settings/org.eclipse.jdt.core.prefs
 create mode 100644 BudgetMasterServer/.settings/org.eclipse.m2e.core.prefs
 create mode 100644 BudgetMasterServer/pom.xml
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/logic/Settings.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/logic/Utils.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/logic/database/DatabaseCreator.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java (99%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/logic/database/DatabaseHandler.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java (99%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/logic/database/DatabaseTagHandler.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/main/Main.java (71%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/SparkServer.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java (94%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentMaxAmount.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentSearch.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForPayment.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForRepeatingPayment.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForPayment.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForRepeatingPayment.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForPayment.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForRepeatingPayment.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForPayment.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForRepeatingPayment.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/tag/TagAdd.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/tag/TagDelete.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGet.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetAll.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetByName.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/updater/TagUpdater.java (100%)
 rename {src => BudgetMasterServer/src/main/java}/de/deadlocker8/budgetmasterserver/server/version/VersionGet.java (100%)
 rename src/de/deadlocker8/budgetmasterserver/main/_de.properties => BudgetMasterServer/src/main/resources/de/deadlocker8/budgetmasterserver/_en.properties (57%)
 rename {src/de/deadlocker8/budgetmasterserver/resources => BudgetMasterServer/src/main/resources/de/deadlocker8/budgetmasterserver}/settings.json (100%)
 rename {tests/de/deadlocker8/budgetmaster/tests/server => BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests}/database/DatabaseHandlerTest.java (98%)
 rename {tests/de/deadlocker8/budgetmaster/tests/server => BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests}/database/DatabaseImportExportTest.java (87%)
 rename {tests/de/deadlocker8/budgetmaster/tests/server => BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests}/database/DatabaseTagHandlerTest.java (98%)
 rename {tests/de/deadlocker8/budgetmaster/tests/server => BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests}/settings/SettingsTest.java (94%)
 create mode 100644 BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster/_en.properties
 rename {tests/de/deadlocker8/budgetmaster/tests/resources => BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster}/export.json (100%)
 rename {tests/de/deadlocker8/budgetmaster/tests/resources => BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster}/import.json (100%)
 delete mode 100644 pom.xml
 delete mode 100644 settings.json

diff --git a/.classpath b/.classpath
deleted file mode 100644
index dbf318767..000000000
--- a/.classpath
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry including="**/*.java" kind="src" output="target/classes" path="src">
-		<attributes>
-			<attribute name="optional" value="true"/>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" path="tests"/>
-	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 882e0e4bc..000000000
--- a/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,98 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
diff --git a/BudgetMasterClient/.classpath b/BudgetMasterClient/.classpath
new file mode 100644
index 000000000..8e795b1c7
--- /dev/null
+++ b/BudgetMasterClient/.classpath
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/BudgetMasterClient/.project b/BudgetMasterClient/.project
new file mode 100644
index 000000000..114266201
--- /dev/null
+++ b/BudgetMasterClient/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>BudgetMasterClient</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/BudgetMasterClient/.settings/org.eclipse.jdt.core.prefs b/BudgetMasterClient/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..714351aec
--- /dev/null
+++ b/BudgetMasterClient/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/BudgetMasterClient/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from .settings/org.eclipse.m2e.core.prefs
rename to BudgetMasterClient/.settings/org.eclipse.m2e.core.prefs
diff --git a/BudgetMasterClient/pom.xml b/BudgetMasterClient/pom.xml
new file mode 100644
index 000000000..569c1b54b
--- /dev/null
+++ b/BudgetMasterClient/pom.xml
@@ -0,0 +1,83 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>de.deadlocker8</groupId>
+	<artifactId>BudgetMasterClient</artifactId>
+	<version>1.6.0</version>
+	<name>BudgetMasterClient</name>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.8</source>
+					<target>1.8</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<artifactId>maven-assembly-plugin</artifactId>
+				<configuration>
+					<archive>
+						<manifest>
+							<mainClass>de.deadlocker8.budgetmasterclient.main.Main</mainClass>
+						</manifest>
+					</archive>
+					<descriptorRefs>
+						<descriptorRef>jar-with-dependencies</descriptorRef>
+					</descriptorRefs>
+				</configuration>
+				<executions>
+					<execution>
+						<id>make-assembly</id> <!-- this is used for inheritance merges -->
+						<phase>package</phase> <!-- bind to the packaging phase -->
+						<goals>
+							<goal>single</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jar-plugin</artifactId>
+				<version>3.0.2</version>
+				<configuration>
+					<outputDirectory>../build</outputDirectory>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.google.code.gson</groupId>
+			<artifactId>gson</artifactId>
+			<version>2.8.1</version>
+		</dependency>
+		<dependency>
+			<groupId>joda-time</groupId>
+			<artifactId>joda-time</artifactId>
+			<version>2.9.7</version>
+		</dependency>
+		<dependency>
+			<groupId>de.deadlocker8</groupId>
+			<artifactId>BudgetMasterCore</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>com.itextpdf</groupId>
+			<artifactId>itextpdf</artifactId>
+			<version>5.0.6</version>
+		</dependency>
+		<dependency>
+			<groupId>org.controlsfx</groupId>
+			<artifactId>controlsfx</artifactId>
+			<version>8.40.12</version>
+		</dependency>
+		<dependency>
+			<groupId>de.deadlocker8</groupId>
+			<artifactId>tools</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file
diff --git a/src/de/deadlocker8/budgetmaster/main/Main.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/main/Main.java
similarity index 85%
rename from src/de/deadlocker8/budgetmaster/main/Main.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/main/Main.java
index 648bba371..0931c1111 100644
--- a/src/de/deadlocker8/budgetmaster/main/Main.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/main/Main.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.main;
+package de.deadlocker8.budgetmasterclient.main;
 
 import java.io.File;
 import java.util.Locale;
@@ -6,7 +6,7 @@ import java.util.Locale;
 import de.deadlocker8.budgetmaster.logic.Settings;
 import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.controller.SplashScreenController;
+import de.deadlocker8.budgetmasterclient.ui.controller.SplashScreenController;
 import javafx.application.Application;
 import javafx.scene.image.Image;
 import javafx.stage.Stage;
@@ -31,14 +31,14 @@ public class Main extends Application
 			Localization.loadLanguage(settings.getLanguage().getLocale());
 		}
 
-		Image icon = new Image("/de/deadlocker8/budgetmaster/resources/icon.png");
+		Image icon = new Image("/de/deadlocker8/budgetmaster/icon.png");
 		new SplashScreenController(stage, icon, getParameters().getNamed().get("update") != null);
 	}
 
 	@Override
 	public void init() throws Exception
 	{
-		Localization.init("de/deadlocker8/budgetmaster/resources/languages/");
+		Localization.init("de/deadlocker8/budgetmaster/languages/");
 		Localization.loadLanguage(Locale.ENGLISH);
 
 		Parameters params = getParameters();
diff --git a/src/de/deadlocker8/budgetmaster/ui/Refreshable.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/Refreshable.java
similarity index 52%
rename from src/de/deadlocker8/budgetmaster/ui/Refreshable.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/Refreshable.java
index 763856fcd..0553784ba 100644
--- a/src/de/deadlocker8/budgetmaster/ui/Refreshable.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/Refreshable.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui;
+package de.deadlocker8.budgetmasterclient.ui;
 
 public interface Refreshable
 {
diff --git a/src/de/deadlocker8/budgetmaster/ui/Styleable.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/Styleable.java
similarity index 56%
rename from src/de/deadlocker8/budgetmaster/ui/Styleable.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/Styleable.java
index 140e680a2..693e63a97 100644
--- a/src/de/deadlocker8/budgetmaster/ui/Styleable.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/Styleable.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui;
+package de.deadlocker8.budgetmasterclient.ui;
 
 public interface Styleable
 {
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/ButtonCategoryCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/ButtonCategoryCell.java
similarity index 95%
rename from src/de/deadlocker8/budgetmaster/ui/cells/ButtonCategoryCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/ButtonCategoryCell.java
index 85833c516..dc6394c3a 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/ButtonCategoryCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/ButtonCategoryCell.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.cells;
+package de.deadlocker8.budgetmasterclient.ui.cells;
 
 import de.deadlocker8.budgetmaster.logic.category.Category;
 import javafx.geometry.Insets;
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/CategoryBudgetCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/CategoryBudgetCell.java
similarity index 96%
rename from src/de/deadlocker8/budgetmaster/ui/cells/CategoryBudgetCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/CategoryBudgetCell.java
index ab39febfc..b72a3c43c 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/CategoryBudgetCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/CategoryBudgetCell.java
@@ -1,9 +1,9 @@
-package de.deadlocker8.budgetmaster.ui.cells;
+package de.deadlocker8.budgetmasterclient.ui.cells;
 
 import de.deadlocker8.budgetmaster.logic.category.Category;
 import de.deadlocker8.budgetmaster.logic.category.CategoryBudget;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
-import de.deadlocker8.budgetmaster.ui.controller.HomeController;
+import de.deadlocker8.budgetmasterclient.ui.controller.HomeController;
 import javafx.geometry.Insets;
 import javafx.geometry.Pos;
 import javafx.scene.control.Label;
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/CategoryCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/CategoryCell.java
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/cells/CategoryCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/CategoryCell.java
index b992b1f6f..908c651eb 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/CategoryCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/CategoryCell.java
@@ -1,11 +1,11 @@
-package de.deadlocker8.budgetmaster.ui.cells;
+package de.deadlocker8.budgetmasterclient.ui.cells;
 
 import java.util.Optional;
 
 import de.deadlocker8.budgetmaster.logic.category.Category;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.controller.CategoryController;
+import de.deadlocker8.budgetmasterclient.ui.controller.CategoryController;
 import fontAwesome.FontIconType;
 import javafx.geometry.Insets;
 import javafx.geometry.Pos;
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/LanguageCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/LanguageCell.java
similarity index 90%
rename from src/de/deadlocker8/budgetmaster/ui/cells/LanguageCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/LanguageCell.java
index d7da4df94..a79830114 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/LanguageCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/LanguageCell.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.cells;
+package de.deadlocker8.budgetmasterclient.ui.cells;
 
 import de.deadlocker8.budgetmaster.logic.utils.LanguageType;
 import javafx.geometry.Insets;
@@ -28,7 +28,7 @@ public class LanguageCell extends ListCell<LanguageType>
 		{		
 			HBox hbox = new HBox();
 			
-			Image image = new Image("de/deadlocker8/budgetmaster/resources/flags/" + item.getIconName() + ".png");
+			Image image = new Image("de/deadlocker8/budgetmaster/flags/" + item.getIconName() + ".png");
 			ImageView imageView = new ImageView(image);
 			imageView.setFitWidth(HEIGHT);
 			imageView.setFitHeight(HEIGHT);
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/PaymentCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/PaymentCell.java
similarity index 98%
rename from src/de/deadlocker8/budgetmaster/ui/cells/PaymentCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/PaymentCell.java
index 09e8ed765..7f29f9109 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/PaymentCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/PaymentCell.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.cells;
+package de.deadlocker8.budgetmasterclient.ui.cells;
 
 import java.text.DateFormat;
 import java.text.ParseException;
@@ -14,7 +14,7 @@ import de.deadlocker8.budgetmaster.logic.payment.RepeatingPaymentEntry;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.controller.PaymentController;
+import de.deadlocker8.budgetmasterclient.ui.controller.PaymentController;
 import fontAwesome.FontIconType;
 import javafx.animation.FadeTransition;
 import javafx.geometry.Insets;
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/RepeatingDayCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/RepeatingDayCell.java
similarity index 85%
rename from src/de/deadlocker8/budgetmaster/ui/cells/RepeatingDayCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/RepeatingDayCell.java
index 2a32ee4ba..4a811dab1 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/RepeatingDayCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/RepeatingDayCell.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.cells;
+package de.deadlocker8.budgetmasterclient.ui.cells;
 
 import javafx.scene.control.ListCell;
 
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/SearchCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/SearchCell.java
similarity index 98%
rename from src/de/deadlocker8/budgetmaster/ui/cells/SearchCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/SearchCell.java
index bb06c279f..a639e3f8c 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/SearchCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/SearchCell.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.cells;
+package de.deadlocker8.budgetmasterclient.ui.cells;
 
 import java.text.DateFormat;
 import java.text.ParseException;
@@ -13,7 +13,7 @@ import de.deadlocker8.budgetmaster.logic.payment.Payment;
 import de.deadlocker8.budgetmaster.logic.payment.RepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
-import de.deadlocker8.budgetmaster.ui.controller.SearchController;
+import de.deadlocker8.budgetmasterclient.ui.controller.SearchController;
 import fontAwesome.FontIconType;
 import javafx.geometry.Insets;
 import javafx.geometry.Pos;
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/SmallCategoryCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/SmallCategoryCell.java
similarity index 96%
rename from src/de/deadlocker8/budgetmaster/ui/cells/SmallCategoryCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/SmallCategoryCell.java
index fde4f517a..ad70f8c2b 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/SmallCategoryCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/SmallCategoryCell.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.cells;
+package de.deadlocker8.budgetmasterclient.ui.cells;
 
 import de.deadlocker8.budgetmaster.logic.category.Category;
 import javafx.geometry.Insets;
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/report/table/ReportTableRatingCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/report/table/ReportTableRatingCell.java
similarity index 94%
rename from src/de/deadlocker8/budgetmaster/ui/cells/report/table/ReportTableRatingCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/report/table/ReportTableRatingCell.java
index f9cd36c23..3131ef8d8 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/report/table/ReportTableRatingCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/report/table/ReportTableRatingCell.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.cells.report.table;
+package de.deadlocker8.budgetmasterclient.ui.cells.report.table;
 
 import de.deadlocker8.budgetmaster.logic.report.ReportItem;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
diff --git a/src/de/deadlocker8/budgetmaster/ui/cells/report/table/ReportTableRepeatingCell.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/report/table/ReportTableRepeatingCell.java
similarity index 94%
rename from src/de/deadlocker8/budgetmaster/ui/cells/report/table/ReportTableRepeatingCell.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/report/table/ReportTableRepeatingCell.java
index 428b6742d..c608583ec 100644
--- a/src/de/deadlocker8/budgetmaster/ui/cells/report/table/ReportTableRepeatingCell.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/cells/report/table/ReportTableRepeatingCell.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.cells.report.table;
+package de.deadlocker8.budgetmasterclient.ui.cells.report.table;
 
 import de.deadlocker8.budgetmaster.logic.report.ReportItem;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
diff --git a/src/de/deadlocker8/budgetmaster/ui/colorPick/ColorPickController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/colorPick/ColorPickController.java
similarity index 98%
rename from src/de/deadlocker8/budgetmaster/ui/colorPick/ColorPickController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/colorPick/ColorPickController.java
index ccda4ff2e..9b3fa2c26 100644
--- a/src/de/deadlocker8/budgetmaster/ui/colorPick/ColorPickController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/colorPick/ColorPickController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.colorPick;
+package de.deadlocker8.budgetmasterclient.ui.colorPick;
 
 import java.util.function.Consumer;
 
diff --git a/src/de/deadlocker8/budgetmaster/ui/colorPick/ColorPickGUI.fxml b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/colorPick/ColorPickGUI.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/colorPick/ColorPickGUI.fxml
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/colorPick/ColorPickGUI.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/colorPick/ColorView.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/colorPick/ColorView.java
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/colorPick/ColorView.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/colorPick/ColorView.java
index 987f673e8..7547dcc02 100644
--- a/src/de/deadlocker8/budgetmaster/ui/colorPick/ColorView.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/colorPick/ColorView.java
@@ -1,9 +1,9 @@
-package de.deadlocker8.budgetmaster.ui.colorPick;
+package de.deadlocker8.budgetmasterclient.ui.colorPick;
 
 import java.util.ArrayList;
 import java.util.function.Consumer;
 
-import de.deadlocker8.budgetmaster.ui.controller.NewCategoryController;
+import de.deadlocker8.budgetmasterclient.ui.controller.NewCategoryController;
 import fontAwesome.FontIcon;
 import fontAwesome.FontIconType;
 import javafx.fxml.FXMLLoader;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/BaseController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/BaseController.java
similarity index 94%
rename from src/de/deadlocker8/budgetmaster/ui/controller/BaseController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/BaseController.java
index e0db54974..d55d410e1 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/BaseController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/BaseController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.io.IOException;
 import java.util.ResourceBundle;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/CategoryController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/CategoryController.java
similarity index 93%
rename from src/de/deadlocker8/budgetmaster/ui/controller/CategoryController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/CategoryController.java
index b15f1edc3..a4c587b2f 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/CategoryController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/CategoryController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 
 import java.util.ArrayList;
@@ -9,9 +9,9 @@ import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Refreshable;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.cells.CategoryCell;
+import de.deadlocker8.budgetmasterclient.ui.Refreshable;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.cells.CategoryCell;
 import fontAwesome.FontIconType;
 import javafx.application.Platform;
 import javafx.beans.value.ChangeListener;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/ChartController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ChartController.java
similarity index 96%
rename from src/de/deadlocker8/budgetmaster/ui/controller/ChartController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ChartController.java
index 29743e5b2..8ddc95345 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/ChartController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ChartController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.io.File;
 import java.time.LocalDate;
@@ -19,8 +19,9 @@ import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Refreshable;
-import de.deadlocker8.budgetmaster.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.Refreshable;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.utils.UIHelpers;
 import fontAwesome.FontIconType;
 import javafx.application.Platform;
 import javafx.collections.FXCollections;
@@ -247,7 +248,7 @@ public class ChartController implements Refreshable, Styleable
 	@Override
 	public void refresh()
 	{
-		Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_CHARTS), controller.getStage(), controller.getIcon());
+		Stage modalStage = UIHelpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_CHARTS), controller.getStage(), controller.getIcon());
 
 		// prepare chart categories
 		LocalDate startDate = LocalDate.parse(controller.getCurrentDate().withDayOfMonth(1).toString("yyyy-MM-dd"));
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/controller/Controller.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java
index 37c3bb123..80340b31b 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/Controller.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -22,6 +22,7 @@ import de.deadlocker8.budgetmaster.logic.updater.VersionInformation;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
+import de.deadlocker8.budgetmasterclient.utils.UIHelpers;
 import fontAwesome.FontIconType;
 import javafx.animation.FadeTransition;
 import javafx.animation.SequentialTransition;
@@ -73,7 +74,7 @@ public class Controller extends BaseController
 	private ReportController reportController;
 	private SettingsController settingsController;
 
-	private Image icon = new Image("de/deadlocker8/budgetmaster/resources/icon.png");	
+	private Image icon = new Image("de/deadlocker8/budgetmaster/icon.png");	
 	private Settings settings;
 	private DateTime currentDate;
 	private ArrayList<CategoryBudget> categoryBudgets;
@@ -443,7 +444,7 @@ public class Controller extends BaseController
 				Optional<ButtonType> result = alert.showAndWait();						
 				if (result.get() == buttonTypeOne)
 				{					
-					Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_UPDATE), getStage(), icon);
+					Stage modalStage = UIHelpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_UPDATE), getStage(), icon);
 					
 					Worker.runLater(() -> {
 						try 
@@ -509,7 +510,7 @@ public class Controller extends BaseController
 	
 	public void refresh(FilterSettings newFilterSettings)
 	{
-		Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATA), getStage(), icon);
+		Stage modalStage = UIHelpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATA), getStage(), icon);
 
 		Worker.runLater(() -> {
 			try
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/DatePickerController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/DatePickerController.java
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/controller/DatePickerController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/DatePickerController.java
index 0e4b32324..7de27b30b 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/DatePickerController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/DatePickerController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import org.joda.time.DateTime;
 import org.joda.time.format.DateTimeFormat;
@@ -6,7 +6,7 @@ import org.joda.time.format.DateTimeFormat;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
 import fontAwesome.FontIconType;
 import javafx.fxml.FXML;
 import javafx.scene.control.Alert.AlertType;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/ExportChartController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ExportChartController.java
similarity index 98%
rename from src/de/deadlocker8/budgetmaster/ui/controller/ExportChartController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ExportChartController.java
index a68a8245d..43ebe49ac 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/ExportChartController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ExportChartController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.awt.Desktop;
 import java.io.File;
@@ -11,7 +11,7 @@ import de.deadlocker8.budgetmaster.logic.charts.ChartExportable;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
 import fontAwesome.FontIconType;
 import javafx.embed.swing.SwingFXUtils;
 import javafx.fxml.FXML;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/FilterController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/FilterController.java
similarity index 98%
rename from src/de/deadlocker8/budgetmaster/ui/controller/FilterController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/FilterController.java
index 0404e945e..870246f41 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/FilterController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/FilterController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.util.ArrayList;
 
@@ -10,7 +10,7 @@ import de.deadlocker8.budgetmaster.logic.tag.Tag;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
 import fontAwesome.FontIconType;
 import javafx.fxml.FXML;
 import javafx.scene.Node;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/HomeController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/HomeController.java
similarity index 92%
rename from src/de/deadlocker8/budgetmaster/ui/controller/HomeController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/HomeController.java
index 19cd15df8..3f5086600 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/HomeController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/HomeController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.util.ArrayList;
 
@@ -7,9 +7,9 @@ import de.deadlocker8.budgetmaster.logic.category.CategoryBudget;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Refreshable;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.cells.CategoryBudgetCell;
+import de.deadlocker8.budgetmasterclient.ui.Refreshable;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.cells.CategoryBudgetCell;
 import javafx.application.Platform;
 import javafx.beans.value.ChangeListener;
 import javafx.fxml.FXML;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/ModalController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ModalController.java
similarity index 84%
rename from src/de/deadlocker8/budgetmaster/ui/controller/ModalController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ModalController.java
index d86c8cbc3..b173d805b 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/ModalController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ModalController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import javafx.fxml.FXML;
 import javafx.scene.control.Label;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/NewCategoryController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/NewCategoryController.java
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/controller/NewCategoryController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/NewCategoryController.java
index 4d3fa0633..d5a37d753 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/NewCategoryController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/NewCategoryController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.util.ArrayList;
 
@@ -11,8 +11,8 @@ import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.colorPick.ColorView;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.colorPick.ColorView;
 import fontAwesome.FontIconType;
 import javafx.fxml.FXML;
 import javafx.scene.control.Alert.AlertType;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/NewPaymentController.java
similarity index 98%
rename from src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/NewPaymentController.java
index fb7fa9c6c..e2e5f75e8 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/NewPaymentController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/NewPaymentController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.time.LocalDate;
 import java.util.ArrayList;
@@ -17,11 +17,11 @@ import de.deadlocker8.budgetmaster.logic.tag.Tag;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.cells.ButtonCategoryCell;
-import de.deadlocker8.budgetmaster.ui.cells.RepeatingDayCell;
-import de.deadlocker8.budgetmaster.ui.cells.SmallCategoryCell;
-import de.deadlocker8.budgetmaster.ui.tagField.TagField;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.cells.ButtonCategoryCell;
+import de.deadlocker8.budgetmasterclient.ui.cells.RepeatingDayCell;
+import de.deadlocker8.budgetmasterclient.ui.cells.SmallCategoryCell;
+import de.deadlocker8.budgetmasterclient.ui.tagField.TagField;
 import fontAwesome.FontIconType;
 import javafx.fxml.FXML;
 import javafx.geometry.Insets;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/PaymentController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/PaymentController.java
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/controller/PaymentController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/PaymentController.java
index e0035af5f..c489114a8 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/PaymentController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/PaymentController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.util.ArrayList;
 
@@ -13,9 +13,9 @@ import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Refreshable;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.cells.PaymentCell;
+import de.deadlocker8.budgetmasterclient.ui.Refreshable;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.cells.PaymentCell;
 import fontAwesome.FontIconType;
 import javafx.application.Platform;
 import javafx.beans.value.ChangeListener;
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/ReportController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ReportController.java
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/controller/ReportController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ReportController.java
index b196ad476..fd9cc1114 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/ReportController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/ReportController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.awt.Desktop;
 import java.io.File;
@@ -31,10 +31,11 @@ import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Refreshable;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.cells.report.table.ReportTableRatingCell;
-import de.deadlocker8.budgetmaster.ui.cells.report.table.ReportTableRepeatingCell;
+import de.deadlocker8.budgetmasterclient.ui.Refreshable;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.cells.report.table.ReportTableRatingCell;
+import de.deadlocker8.budgetmasterclient.ui.cells.report.table.ReportTableRepeatingCell;
+import de.deadlocker8.budgetmasterclient.utils.UIHelpers;
 import fontAwesome.FontIconType;
 import javafx.application.Platform;
 import javafx.beans.property.SimpleStringProperty;
@@ -649,7 +650,7 @@ public class ReportController implements Refreshable, Styleable
 																controller.getCurrentDate(),
 																budget);
 			
-			Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_REPORT), controller.getStage(), controller.getIcon());
+			Stage modalStage = UIHelpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_REPORT), controller.getStage(), controller.getIcon());
 
 			Worker.runLater(() -> {
 				try
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/SearchController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SearchController.java
similarity index 96%
rename from src/de/deadlocker8/budgetmaster/ui/controller/SearchController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SearchController.java
index 7e2aa27a0..bb8788b46 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/SearchController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SearchController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.util.ArrayList;
 
@@ -11,8 +11,9 @@ import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.cells.SearchCell;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.cells.SearchCell;
+import de.deadlocker8.budgetmasterclient.utils.UIHelpers;
 import fontAwesome.FontIconType;
 import javafx.application.Platform;
 import javafx.beans.value.ChangeListener;
@@ -267,7 +268,7 @@ public class SearchController extends BaseController implements Styleable
 		searchPreferences.setMinAmount((int)rangeSlider.getLowValue());
 		searchPreferences.setMaxAmount((int)rangeSlider.getHighValue());
 		
-		Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_SEARCH), getStage(), controller.getIcon());
+		Stage modalStage = UIHelpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_SEARCH), getStage(), controller.getIcon());
 		
 		Worker.runLater(() -> {
 			try 
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SettingsController.java
similarity index 95%
rename from src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SettingsController.java
index caefa9ba6..523b1672a 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/SettingsController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SettingsController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.io.File;
 import java.io.IOException;
@@ -6,6 +6,7 @@ import java.util.ArrayList;
 import java.util.Optional;
 
 import de.deadlocker8.budgetmaster.logic.Settings;
+import de.deadlocker8.budgetmaster.logic.database.Database;
 import de.deadlocker8.budgetmaster.logic.serverconnection.ExceptionHandler;
 import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
 import de.deadlocker8.budgetmaster.logic.updater.Updater;
@@ -14,10 +15,10 @@ import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.LanguageType;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.main.Main;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.cells.LanguageCell;
-import de.deadlocker8.budgetmasterserver.logic.database.Database;
+import de.deadlocker8.budgetmasterclient.main.Main;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.cells.LanguageCell;
+import de.deadlocker8.budgetmasterclient.utils.UIHelpers;
 import javafx.application.Platform;
 import javafx.fxml.FXML;
 import javafx.scene.control.Alert;
@@ -343,7 +344,7 @@ public class SettingsController implements Styleable
 				
 				Localization.loadLanguage(controller.getSettings().getLanguage().getLocale());
 				
-			    Image icon = new Image("/de/deadlocker8/budgetmaster/resources/icon.png");
+			    Image icon = new Image("/de/deadlocker8/budgetmaster/icon.png");
 				new SplashScreenController(Main.primaryStage, icon, false);			
 			}
 			else
@@ -362,7 +363,7 @@ public class SettingsController implements Styleable
 		File file = fileChooser.showSaveDialog(controller.getStage());
 		if(file != null)
 		{
-			Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATABASE_EXPORT), controller.getStage(), controller.getIcon());
+			Stage modalStage = UIHelpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATABASE_EXPORT), controller.getStage(), controller.getIcon());
 
 			Worker.runLater(() -> {
 				try
@@ -446,7 +447,7 @@ public class SettingsController implements Styleable
 				return;
 			}
 
-			Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATABASE_IMPORT), controller.getStage(), controller.getIcon());
+			Stage modalStage = UIHelpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATABASE_IMPORT), controller.getStage(), controller.getIcon());
 
 			Worker.runLater(() -> {
 				try
@@ -547,7 +548,7 @@ public class SettingsController implements Styleable
 		{
 			if(result.get().equals(verificationCode))
 			{
-				Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATABASE_DELETE), controller.getStage(), controller.getIcon());
+				Stage modalStage = UIHelpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_DATABASE_DELETE), controller.getStage(), controller.getIcon());
 
 				Worker.runLater(() -> {
 					try
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/SplashScreenController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SplashScreenController.java
similarity index 96%
rename from src/de/deadlocker8/budgetmaster/ui/controller/SplashScreenController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SplashScreenController.java
index 5e7104c45..28071b535 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/SplashScreenController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/controller/SplashScreenController.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.controller;
+package de.deadlocker8.budgetmasterclient.ui.controller;
 
 import java.io.IOException;
 
@@ -7,8 +7,8 @@ import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.Styleable;
-import de.deadlocker8.budgetmaster.ui.customAlert.CustomAlertController;
+import de.deadlocker8.budgetmasterclient.ui.Styleable;
+import de.deadlocker8.budgetmasterclient.ui.customAlert.CustomAlertController;
 import fontAwesome.FontIconType;
 import javafx.application.Platform;
 import javafx.fxml.FXML;
diff --git a/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlert.fxml b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/customAlert/CustomAlert.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlert.fxml
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/customAlert/CustomAlert.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlertController.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/customAlert/CustomAlertController.java
similarity index 91%
rename from src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlertController.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/customAlert/CustomAlertController.java
index 7c232d0a4..79e903d39 100644
--- a/src/de/deadlocker8/budgetmaster/ui/customAlert/CustomAlertController.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/customAlert/CustomAlertController.java
@@ -1,7 +1,7 @@
-package de.deadlocker8.budgetmaster.ui.customAlert;
+package de.deadlocker8.budgetmasterclient.ui.customAlert;
 
-import de.deadlocker8.budgetmaster.ui.controller.BaseController;
-import de.deadlocker8.budgetmaster.ui.controller.SplashScreenController;
+import de.deadlocker8.budgetmasterclient.ui.controller.BaseController;
+import de.deadlocker8.budgetmasterclient.ui.controller.SplashScreenController;
 import javafx.fxml.FXML;
 import javafx.scene.control.Alert.AlertType;
 import javafx.scene.control.Label;
diff --git a/src/de/deadlocker8/budgetmaster/ui/tagField/TagField.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/tagField/TagField.java
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/tagField/TagField.java
rename to BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/tagField/TagField.java
index 5a23af710..536a52cdc 100644
--- a/src/de/deadlocker8/budgetmaster/ui/tagField/TagField.java
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/ui/tagField/TagField.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.ui.tagField;
+package de.deadlocker8.budgetmasterclient.ui.tagField;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -10,7 +10,7 @@ import de.deadlocker8.budgetmaster.logic.tag.Tag;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
 import de.deadlocker8.budgetmaster.logic.utils.Strings;
-import de.deadlocker8.budgetmaster.ui.controller.NewPaymentController;
+import de.deadlocker8.budgetmasterclient.ui.controller.NewPaymentController;
 import fontAwesome.FontIconType;
 import javafx.geometry.Insets;
 import javafx.geometry.Pos;
diff --git a/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/utils/UIHelpers.java b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/utils/UIHelpers.java
new file mode 100644
index 000000000..88035fcb1
--- /dev/null
+++ b/BudgetMasterClient/src/main/java/de/deadlocker8/budgetmasterclient/utils/UIHelpers.java
@@ -0,0 +1,44 @@
+package de.deadlocker8.budgetmasterclient.utils;
+
+import java.io.IOException;
+
+import de.deadlocker8.budgetmaster.logic.utils.Helpers;
+import de.deadlocker8.budgetmasterclient.ui.controller.ModalController;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.scene.image.Image;
+import javafx.stage.Modality;
+import javafx.stage.Stage;
+import logger.Logger;
+import tools.Localization;
+
+public class UIHelpers
+{
+	public static Stage showModal(String title, String message, Stage owner, Image icon)
+	{
+		try
+		{
+			FXMLLoader fxmlLoader = new FXMLLoader(Helpers.class.getResource("/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml"));
+			Parent root = (Parent)fxmlLoader.load();
+			fxmlLoader.setResources(Localization.getBundle());
+			Stage newStage = new Stage();
+			newStage.initOwner(owner);
+			newStage.initModality(Modality.APPLICATION_MODAL);
+			newStage.setTitle(title);
+			newStage.setScene(new Scene(root));
+			newStage.getIcons().add(icon);
+			newStage.setResizable(false);
+			ModalController newController = fxmlLoader.getController();
+			newController.init(newStage, message);
+			newStage.show();
+
+			return newStage;
+		}
+		catch(IOException e)
+		{
+			Logger.error(e);
+			return null;
+		}
+	}
+}
\ No newline at end of file
diff --git a/src/de/deadlocker8/budgetmaster/resources/changelog.json b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/changelog.json
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/resources/changelog.json
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/changelog.json
diff --git a/src/de/deadlocker8/budgetmaster/resources/flags/english.png b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/flags/english.png
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/resources/flags/english.png
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/flags/english.png
diff --git a/src/de/deadlocker8/budgetmaster/resources/flags/german.png b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/flags/german.png
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/resources/flags/german.png
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/flags/german.png
diff --git a/src/de/deadlocker8/budgetmaster/resources/fonts/OpenSans-Regular.ttf b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/fonts/OpenSans-Regular.ttf
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/resources/fonts/OpenSans-Regular.ttf
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/fonts/OpenSans-Regular.ttf
diff --git a/src/de/deadlocker8/budgetmaster/resources/icon.png b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/icon.png
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/resources/icon.png
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/icon.png
diff --git a/src/de/deadlocker8/budgetmaster/resources/languages/_de.properties b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/languages/_de.properties
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/resources/languages/_de.properties
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/languages/_de.properties
diff --git a/src/de/deadlocker8/budgetmaster/resources/languages/_en.properties b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/languages/_en.properties
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/resources/languages/_en.properties
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/languages/_en.properties
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/CategoryTab.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/CategoryTab.fxml
similarity index 91%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/CategoryTab.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/CategoryTab.fxml
index 0d2c84f88..25b905501 100644
--- a/src/de/deadlocker8/budgetmaster/ui/fxml/CategoryTab.fxml
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/CategoryTab.fxml
@@ -7,7 +7,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmaster.ui.controller.CategoryController">
+<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmasterclient.ui.controller.CategoryController">
    <children>
       <VBox alignment="TOP_CENTER" layoutY="24.0" prefHeight="562.0" prefWidth="772.0" spacing="25.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="25.0">
          <children>
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/ChartTab.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/ChartTab.fxml
similarity index 98%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/ChartTab.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/ChartTab.fxml
index ce7cfe0c1..a387c946e 100644
--- a/src/de/deadlocker8/budgetmaster/ui/fxml/ChartTab.fxml
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/ChartTab.fxml
@@ -13,7 +13,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmaster.ui.controller.ChartController">
+<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmasterclient.ui.controller.ChartController">
    <children>
       <Accordion fx:id="accordion" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="25.0">
         <panes>
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/DatePickerGUI.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/ExportChartGUI.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/ExportChartGUI.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/ExportChartGUI.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/ExportChartGUI.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/FilterGUI.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/FilterGUI.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/FilterGUI.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/FilterGUI.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/GUI.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/GUI.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/GUI.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/GUI.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/HomeTab.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/HomeTab.fxml
similarity index 94%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/HomeTab.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/HomeTab.fxml
index 98d51c305..ba134717f 100644
--- a/src/de/deadlocker8/budgetmaster/ui/fxml/HomeTab.fxml
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/HomeTab.fxml
@@ -8,7 +8,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmaster.ui.controller.HomeController">
+<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmasterclient.ui.controller.HomeController">
    <children>
       <VBox alignment="TOP_CENTER" layoutY="24.0" prefHeight="562.0" prefWidth="772.0" spacing="15.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0">
          <children>
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml
similarity index 83%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml
index 846a76e2b..77b86bc0a 100644
--- a/src/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml
@@ -6,7 +6,7 @@
 <?import javafx.scene.layout.HBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPaneMain" prefHeight="100.0" prefWidth="375.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmaster.ui.controller.ModalController">
+<AnchorPane fx:id="anchorPaneMain" prefHeight="100.0" prefWidth="375.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmasterclient.ui.controller.ModalController">
    <children>
       <HBox alignment="CENTER_LEFT" spacing="10.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0">
          <children>
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/NewCategoryGUI.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/NewCategoryGUI.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/NewCategoryGUI.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/NewCategoryGUI.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/NewPaymentGUI.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/NewPaymentGUI.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/NewPaymentGUI.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/NewPaymentGUI.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/PaymentTab.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/PaymentTab.fxml
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/PaymentTab.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/PaymentTab.fxml
index 320028cee..43cbe9ae7 100644
--- a/src/de/deadlocker8/budgetmaster/ui/fxml/PaymentTab.fxml
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/PaymentTab.fxml
@@ -10,7 +10,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmaster.ui.controller.PaymentController">
+<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmasterclient.ui.controller.PaymentController">
    <children>
       <VBox alignment="TOP_CENTER" layoutY="24.0" prefHeight="562.0" prefWidth="772.0" spacing="25.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="25.0">
          <children>
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/ReportTab.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/ReportTab.fxml
similarity index 97%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/ReportTab.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/ReportTab.fxml
index 45f4fa379..2e84bb459 100644
--- a/src/de/deadlocker8/budgetmaster/ui/fxml/ReportTab.fxml
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/ReportTab.fxml
@@ -10,7 +10,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmaster.ui.controller.ReportController">
+<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmasterclient.ui.controller.ReportController">
    <children>
       <VBox alignment="TOP_CENTER" layoutY="24.0" prefHeight="562.0" prefWidth="772.0" spacing="20.0" AnchorPane.bottomAnchor="35.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="25.0">
          <children>
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/SearchGUI.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/SearchGUI.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/SearchGUI.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/SearchGUI.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/SettingsTab.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/SettingsTab.fxml
similarity index 99%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/SettingsTab.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/SettingsTab.fxml
index fd03c331f..c853b86e2 100644
--- a/src/de/deadlocker8/budgetmaster/ui/fxml/SettingsTab.fxml
+++ b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/SettingsTab.fxml
@@ -15,7 +15,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmaster.ui.controller.SettingsController">
+<AnchorPane fx:id="anchorPaneMain" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.budgetmasterclient.ui.controller.SettingsController">
    <children>
       <VBox alignment="TOP_CENTER" prefHeight="562.0" prefWidth="772.0" spacing="25.0" AnchorPane.bottomAnchor="14.0" AnchorPane.leftAnchor="14.0" AnchorPane.rightAnchor="14.0" AnchorPane.topAnchor="14.0">
          <children>
diff --git a/src/de/deadlocker8/budgetmaster/ui/fxml/SplashScreen.fxml b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/SplashScreen.fxml
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/fxml/SplashScreen.fxml
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/fxml/SplashScreen.fxml
diff --git a/src/de/deadlocker8/budgetmaster/ui/style.css b/BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/style.css
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/ui/style.css
rename to BudgetMasterClient/src/main/resources/de/deadlocker8/budgetmaster/ui/style.css
diff --git a/BudgetMasterCore/.classpath b/BudgetMasterCore/.classpath
new file mode 100644
index 000000000..8e795b1c7
--- /dev/null
+++ b/BudgetMasterCore/.classpath
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/BudgetMasterCore/.project b/BudgetMasterCore/.project
new file mode 100644
index 000000000..5cb225e94
--- /dev/null
+++ b/BudgetMasterCore/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>BudgetMasterCore</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/BudgetMasterCore/.settings/org.eclipse.jdt.core.prefs b/BudgetMasterCore/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..714351aec
--- /dev/null
+++ b/BudgetMasterCore/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/BudgetMasterCore/.settings/org.eclipse.m2e.core.prefs b/BudgetMasterCore/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 000000000..f897a7f1c
--- /dev/null
+++ b/BudgetMasterCore/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/BudgetMasterCore/pom.xml b/BudgetMasterCore/pom.xml
new file mode 100644
index 000000000..378e55ce7
--- /dev/null
+++ b/BudgetMasterCore/pom.xml
@@ -0,0 +1,45 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>de.deadlocker8</groupId>
+	<artifactId>BudgetMasterCore</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>BudgetMasterCore</name>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.8</source>
+					<target>1.8</target>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	
+	<dependencies>
+		<dependency>
+			<groupId>com.google.code.gson</groupId>
+			<artifactId>gson</artifactId>
+			<version>2.8.1</version>
+		</dependency>
+		<dependency>
+			<groupId>joda-time</groupId>
+			<artifactId>joda-time</artifactId>
+			<version>2.9.7</version>
+		</dependency>
+		<dependency>
+			<groupId>com.itextpdf</groupId>
+			<artifactId>itextpdf</artifactId>
+			<version>5.0.6</version>
+		</dependency>
+		<dependency>
+			<groupId>de.deadlocker8</groupId>
+			<artifactId>tools</artifactId>
+			<version>1.0</version>
+			<scope>system</scope>
+			<systemPath>${basedir}/../lib/Tools.jar</systemPath>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file
diff --git a/src/de/deadlocker8/budgetmaster/logic/Budget.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/Budget.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/Budget.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/Budget.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/FilterSettings.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/FilterSettings.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/FilterSettings.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/FilterSettings.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/Settings.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/Settings.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/Settings.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/Settings.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/category/Category.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/category/Category.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/category/Category.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/category/Category.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/category/CategoryBudget.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/category/CategoryBudget.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/category/CategoryBudget.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/category/CategoryBudget.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/category/CategoryHandler.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/category/CategoryHandler.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/category/CategoryHandler.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/category/CategoryHandler.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/CategoriesChart.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/CategoryInOutSum.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/CategoryInOutSum.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/charts/CategoryInOutSum.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/CategoryInOutSum.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/ChartExportable.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/LegendType.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/LegendType.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/charts/LegendType.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/LegendType.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/MonthBarChart.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/MonthInOutSum.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/MonthInOutSum.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/charts/MonthInOutSum.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/MonthInOutSum.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/charts/MonthLineChart.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/comparators/DateComparator.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/comparators/DateComparator.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/comparators/DateComparator.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/comparators/DateComparator.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/comparators/RatingComparator.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/comparators/RatingComparator.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/comparators/RatingComparator.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/comparators/RatingComparator.java
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/database/Database.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/Database.java
similarity index 97%
rename from src/de/deadlocker8/budgetmasterserver/logic/database/Database.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/Database.java
index c5ff53d88..67b7ca2aa 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/database/Database.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/Database.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.logic.database;
+package de.deadlocker8.budgetmaster.logic.database;
 
 import java.util.ArrayList;
 
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImportExport.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/DatabaseImportExport.java
similarity index 86%
rename from src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImportExport.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/DatabaseImportExport.java
index 96a79db8b..9fb4dae18 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImportExport.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/DatabaseImportExport.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.logic.database;
+package de.deadlocker8.budgetmaster.logic.database;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/database/OldDatabase.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/OldDatabase.java
similarity index 94%
rename from src/de/deadlocker8/budgetmasterserver/logic/database/OldDatabase.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/OldDatabase.java
index c38caec0e..51b0448a0 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/database/OldDatabase.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/database/OldDatabase.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmasterserver.logic.database;
+package de.deadlocker8.budgetmaster.logic.database;
 
 import java.util.ArrayList;
 
diff --git a/src/de/deadlocker8/budgetmaster/logic/payment/LatestRepeatingPayment.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/LatestRepeatingPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/payment/LatestRepeatingPayment.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/LatestRepeatingPayment.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/payment/NormalPayment.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/NormalPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/payment/NormalPayment.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/NormalPayment.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/payment/Payment.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/Payment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/payment/Payment.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/Payment.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/payment/PaymentHandler.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/PaymentHandler.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/payment/PaymentHandler.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/PaymentHandler.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONDeserializer.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONDeserializer.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONDeserializer.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONDeserializer.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONSerializer.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONSerializer.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONSerializer.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/PaymentJSONSerializer.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/payment/RepeatingPayment.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/RepeatingPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/payment/RepeatingPayment.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/RepeatingPayment.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/payment/RepeatingPaymentEntry.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/RepeatingPaymentEntry.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/payment/RepeatingPaymentEntry.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/payment/RepeatingPaymentEntry.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/AmountType.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/AmountType.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/AmountType.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/AmountType.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/ColumnFilter.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ColumnFilter.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/ColumnFilter.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ColumnFilter.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/ColumnOrder.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ColumnOrder.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/ColumnOrder.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ColumnOrder.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/ColumnType.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ColumnType.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/ColumnType.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ColumnType.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/HeaderFooterPageEvent.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/HeaderFooterPageEvent.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/HeaderFooterPageEvent.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/HeaderFooterPageEvent.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/ReportGenerator.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ReportGenerator.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/ReportGenerator.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ReportGenerator.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/ReportItem.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ReportItem.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/ReportItem.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ReportItem.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/ReportPreferences.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ReportPreferences.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/ReportPreferences.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ReportPreferences.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/report/ReportSorting.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ReportSorting.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/report/ReportSorting.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/report/ReportSorting.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/search/SearchPreferences.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/search/SearchPreferences.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/search/SearchPreferences.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/search/SearchPreferences.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/serverconnection/ExceptionHandler.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ExceptionHandler.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/serverconnection/ExceptionHandler.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ExceptionHandler.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
similarity index 99%
rename from src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
index f546d04b8..dac43f66a 100644
--- a/src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnection.java
@@ -26,6 +26,7 @@ import de.deadlocker8.budgetmaster.logic.category.Category;
 import de.deadlocker8.budgetmaster.logic.category.CategoryBudget;
 import de.deadlocker8.budgetmaster.logic.charts.CategoryInOutSum;
 import de.deadlocker8.budgetmaster.logic.charts.MonthInOutSum;
+import de.deadlocker8.budgetmaster.logic.database.Database;
 import de.deadlocker8.budgetmaster.logic.payment.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.payment.Payment;
 import de.deadlocker8.budgetmaster.logic.payment.PaymentJSONDeserializer;
@@ -33,7 +34,6 @@ import de.deadlocker8.budgetmaster.logic.payment.RepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.payment.RepeatingPaymentEntry;
 import de.deadlocker8.budgetmaster.logic.updater.VersionInformation;
 import de.deadlocker8.budgetmaster.logic.utils.Helpers;
-import de.deadlocker8.budgetmasterserver.logic.database.Database;
 import tools.Read;
 
 public class ServerConnection
diff --git a/src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnectionException.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnectionException.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnectionException.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerConnectionException.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerTagConnection.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerTagConnection.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/serverconnection/ServerTagConnection.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/serverconnection/ServerTagConnection.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/tag/Tag.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/tag/Tag.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/tag/Tag.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/tag/Tag.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/tag/TagHandler.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/tag/TagHandler.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/tag/TagHandler.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/tag/TagHandler.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/tag/TagMatch.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/tag/TagMatch.java
similarity index 92%
rename from src/de/deadlocker8/budgetmaster/logic/tag/TagMatch.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/tag/TagMatch.java
index 460c927bb..7177bee48 100644
--- a/src/de/deadlocker8/budgetmaster/logic/tag/TagMatch.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/tag/TagMatch.java
@@ -1,6 +1,6 @@
 package de.deadlocker8.budgetmaster.logic.tag;
 
-import de.deadlocker8.budgetmasterserver.logic.database.DatabaseImportExport;
+import de.deadlocker8.budgetmaster.logic.database.DatabaseImportExport;
 
 @DatabaseImportExport
 public class TagMatch
diff --git a/src/de/deadlocker8/budgetmaster/logic/updater/Updater.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/updater/Updater.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/updater/Updater.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/updater/Updater.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/updater/VersionInformation.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/updater/VersionInformation.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/updater/VersionInformation.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/updater/VersionInformation.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/Colors.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Colors.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/utils/Colors.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Colors.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
similarity index 96%
rename from src/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
index 5c165365e..1f4353564 100644
--- a/src/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/FileHelper.java
@@ -13,10 +13,10 @@ import java.util.ArrayList;
 import com.google.gson.Gson;
 
 import de.deadlocker8.budgetmaster.logic.Settings;
+import de.deadlocker8.budgetmaster.logic.database.Database;
+import de.deadlocker8.budgetmaster.logic.database.OldDatabase;
 import de.deadlocker8.budgetmaster.logic.tag.Tag;
 import de.deadlocker8.budgetmaster.logic.tag.TagMatch;
-import de.deadlocker8.budgetmasterserver.logic.database.Database;
-import de.deadlocker8.budgetmasterserver.logic.database.OldDatabase;
 import tools.Localization;
 import tools.PathUtils;
 
diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/Fonts.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Fonts.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/utils/Fonts.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Fonts.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/Helpers.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Helpers.java
similarity index 77%
rename from src/de/deadlocker8/budgetmaster/logic/utils/Helpers.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Helpers.java
index fc6054d91..53539a1a1 100644
--- a/src/de/deadlocker8/budgetmaster/logic/utils/Helpers.java
+++ b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Helpers.java
@@ -1,6 +1,5 @@
 package de.deadlocker8.budgetmaster.logic.utils;
 
-import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.text.DecimalFormat;
@@ -8,17 +7,9 @@ import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 
-import de.deadlocker8.budgetmaster.ui.controller.ModalController;
 import fontAwesome.FontIcon;
 import fontAwesome.FontIconType;
-import javafx.fxml.FXMLLoader;
-import javafx.scene.Parent;
-import javafx.scene.Scene;
-import javafx.scene.image.Image;
 import javafx.scene.paint.Color;
-import javafx.stage.Modality;
-import javafx.stage.Stage;
-import logger.Logger;
 import tools.Localization;
 
 public class Helpers
@@ -117,33 +108,6 @@ public class Helpers
 	    return icon;
 	}
 	
-	public static Stage showModal(String title, String message, Stage owner, Image icon)
-	{
-		try
-		{
-			FXMLLoader fxmlLoader = new FXMLLoader(Helpers.class.getResource("/de/deadlocker8/budgetmaster/ui/fxml/Modal.fxml"));
-			Parent root = (Parent)fxmlLoader.load();
-			fxmlLoader.setResources(Localization.getBundle());
-			Stage newStage = new Stage();
-			newStage.initOwner(owner);
-			newStage.initModality(Modality.APPLICATION_MODAL);
-			newStage.setTitle(title);
-			newStage.setScene(new Scene(root));
-			newStage.getIcons().add(icon);
-			newStage.setResizable(false);
-			ModalController newController = fxmlLoader.getController();
-			newController.init(newStage, message);
-			newStage.show();
-
-			return newStage;
-		}
-		catch(IOException e)
-		{
-			Logger.error(e);
-			return null;
-		}
-	}
-	
 	/**
 	 * Replaces line breaks and tabs with spaces
 	 * @param text
diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/LanguageType.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/LanguageType.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/utils/LanguageType.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/LanguageType.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/SaveFileType.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/SaveFileType.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/utils/SaveFileType.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/SaveFileType.java
diff --git a/src/de/deadlocker8/budgetmaster/logic/utils/Strings.java b/BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Strings.java
similarity index 100%
rename from src/de/deadlocker8/budgetmaster/logic/utils/Strings.java
rename to BudgetMasterCore/src/main/java/de/deadlocker8/budgetmaster/logic/utils/Strings.java
diff --git a/BudgetMasterServer/.classpath b/BudgetMasterServer/.classpath
new file mode 100644
index 000000000..fae1a2b37
--- /dev/null
+++ b/BudgetMasterServer/.classpath
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/BudgetMasterServer/.project b/BudgetMasterServer/.project
new file mode 100644
index 000000000..3af6b4d3f
--- /dev/null
+++ b/BudgetMasterServer/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>BudgetMasterServer</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/BudgetMasterServer/.settings/org.eclipse.jdt.core.prefs b/BudgetMasterServer/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..714351aec
--- /dev/null
+++ b/BudgetMasterServer/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/BudgetMasterServer/.settings/org.eclipse.m2e.core.prefs b/BudgetMasterServer/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 000000000..f897a7f1c
--- /dev/null
+++ b/BudgetMasterServer/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/BudgetMasterServer/pom.xml b/BudgetMasterServer/pom.xml
new file mode 100644
index 000000000..55aab25b3
--- /dev/null
+++ b/BudgetMasterServer/pom.xml
@@ -0,0 +1,94 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>de.deadlocker8</groupId>
+	<artifactId>BudgetMasterServer</artifactId>
+	<version>1.6.0</version>
+	<name>BudgetMasterServer</name>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.8</source>
+					<target>1.8</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<artifactId>maven-assembly-plugin</artifactId>
+				<configuration>
+					<archive>
+						<manifest>
+							<mainClass>de.deadlocker8.budgetmasterserver.main.Main</mainClass>
+						</manifest>
+					</archive>
+					<descriptorRefs>
+						<descriptorRef>jar-with-dependencies</descriptorRef>
+					</descriptorRefs>
+				</configuration>
+				<executions>
+					<execution>
+						<id>make-assembly</id> <!-- this is used for inheritance merges -->
+						<phase>package</phase> <!-- bind to the packaging phase -->
+						<goals>
+							<goal>single</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jar-plugin</artifactId>
+				<version>3.0.2</version>
+				<configuration>
+					<outputDirectory>../build</outputDirectory>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.sparkjava</groupId>
+			<artifactId>spark-core</artifactId>
+			<version>2.5.4</version>
+		</dependency>
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-simple</artifactId>
+			<version>1.7.21</version>
+		</dependency>
+		<dependency>
+			<groupId>com.google.code.gson</groupId>
+			<artifactId>gson</artifactId>
+			<version>2.8.1</version>
+		</dependency>
+		<dependency>
+			<groupId>mysql</groupId>
+			<artifactId>mysql-connector-java</artifactId>
+			<version>6.0.5</version>
+		</dependency>
+		<dependency>
+			<groupId>joda-time</groupId>
+			<artifactId>joda-time</artifactId>
+			<version>2.9.7</version>
+		</dependency>
+		<dependency>
+			<groupId>de.deadlocker8</groupId>
+			<artifactId>tools</artifactId>
+			<version>0.0.1-SNAPSHOT</version>			
+		</dependency>
+		<dependency>
+			<groupId>de.deadlocker8</groupId>
+			<artifactId>BudgetMasterCore</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+		</dependency>
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.12</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/Settings.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/Settings.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/logic/Settings.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/Settings.java
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/Utils.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/Utils.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/logic/Utils.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/Utils.java
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseCreator.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseCreator.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseCreator.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseCreator.java
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java
similarity index 99%
rename from src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java
index 423eedc27..2213d9100 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseExporter.java
@@ -9,6 +9,7 @@ import java.sql.Statement;
 import java.util.ArrayList;
 
 import de.deadlocker8.budgetmaster.logic.category.Category;
+import de.deadlocker8.budgetmaster.logic.database.Database;
 import de.deadlocker8.budgetmaster.logic.payment.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.payment.RepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.tag.Tag;
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseHandler.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseHandler.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseHandler.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseHandler.java
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java
similarity index 99%
rename from src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java
index d19380eb4..3070bf67b 100644
--- a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseImporter.java
@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Iterator;
 
 import de.deadlocker8.budgetmaster.logic.category.Category;
+import de.deadlocker8.budgetmaster.logic.database.Database;
 import de.deadlocker8.budgetmaster.logic.payment.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.payment.RepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.tag.Tag;
diff --git a/src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseTagHandler.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseTagHandler.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/logic/database/DatabaseTagHandler.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/logic/database/DatabaseTagHandler.java
diff --git a/src/de/deadlocker8/budgetmasterserver/main/Main.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/main/Main.java
similarity index 71%
rename from src/de/deadlocker8/budgetmasterserver/main/Main.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/main/Main.java
index 435a3378e..eb3a19f90 100644
--- a/src/de/deadlocker8/budgetmasterserver/main/Main.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/main/Main.java
@@ -7,7 +7,6 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Locale;
-import java.util.ResourceBundle;
 
 import de.deadlocker8.budgetmaster.logic.updater.VersionInformation;
 import de.deadlocker8.budgetmasterserver.logic.Settings;
@@ -20,17 +19,17 @@ import tools.Localization;
 
 public class Main
 {
-	//for server specific version information
-	private static ResourceBundle bundle = ResourceBundle.getBundle("de/deadlocker8/budgetmasterserver/main/", Locale.GERMAN);
-
 	public static void main(String[] args)
 	{
 		//for category.none in class Category
-		Localization.init("de/deadlocker8/budgetmaster/resources/languages/");
+		Localization.init("de/deadlocker8/budgetmasterserver/");
 		Localization.loadLanguage(Locale.ENGLISH);
 		
 		Logger.setLevel(LogLevel.ALL);		
-		Logger.appInfo(bundle.getString("app.name"), bundle.getString("version.name"), bundle.getString("version.code"), bundle.getString("version.date"));
+		Logger.appInfo(Localization.getString("app.name"), 
+						Localization.getString("version.name"), 
+						Localization.getString("version.code"), 
+						Localization.getString("version.date"));
 		try
 		{
 			File logFolder = Paths.get(SparkServer.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParent().toFile();
@@ -49,7 +48,7 @@ public class Main
 			{
 				try
 				{
-					Files.copy(SparkServer.class.getClassLoader().getResourceAsStream("de/deadlocker8/budgetmasterserver/resources/settings.json"), settingsPath);
+					Files.copy(SparkServer.class.getClassLoader().getResourceAsStream("de/deadlocker8/budgetmasterserver/settings.json"), settingsPath);
 				}
 				catch(IOException e)
 				{
@@ -62,9 +61,9 @@ public class Main
 			{
 				settings = Utils.loadSettings();
 				VersionInformation versionInfo = new VersionInformation();
-				versionInfo.setVersionCode(Integer.parseInt(bundle.getString("version.code")));
-				versionInfo.setVersionName(bundle.getString("version.name"));
-				versionInfo.setDate(bundle.getString("version.date"));
+				versionInfo.setVersionCode(Integer.parseInt(Localization.getString("version.code")));
+				versionInfo.setVersionName(Localization.getString("version.name"));
+				versionInfo.setDate(Localization.getString("version.date"));
 				
 				new SparkServer(settings, versionInfo);
 			}
diff --git a/src/de/deadlocker8/budgetmasterserver/server/SparkServer.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/SparkServer.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/SparkServer.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/SparkServer.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryAdd.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryDelete.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryGet.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryGetAll.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/category/CategoryUpdate.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/categorybudget/CategoryBudgetGet.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/charts/CategoryInOutSumForMonth.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/charts/MonthInOutSum.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/database/DatabaseDelete.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/database/DatabaseExport.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java
similarity index 94%
rename from src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java
index b5cccfe8d..fa3e9b13a 100644
--- a/src/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/database/DatabaseImport.java
@@ -4,7 +4,7 @@ import static spark.Spark.halt;
 
 import com.google.gson.Gson;
 
-import de.deadlocker8.budgetmasterserver.logic.database.Database;
+import de.deadlocker8.budgetmaster.logic.database.Database;
 import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.logic.database.DatabaseImporter;
 import de.deadlocker8.budgetmasterserver.logic.database.DatabaseTagHandler;
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentAdd.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentDelete.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentGet.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/normal/PaymentUpdate.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentAdd.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentDelete.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGet.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/repeating/RepeatingPaymentGetAll.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentMaxAmount.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentMaxAmount.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentMaxAmount.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentMaxAmount.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentSearch.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentSearch.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentSearch.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/payment/search/PaymentSearch.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/rest/RestGet.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForPayment.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForPayment.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForPayment.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForRepeatingPayment.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForRepeatingPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForRepeatingPayment.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchAddForRepeatingPayment.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForPayment.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForPayment.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForPayment.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForRepeatingPayment.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForRepeatingPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForRepeatingPayment.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchDeleteForRepeatingPayment.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForPayment.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForPayment.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForPayment.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForRepeatingPayment.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForRepeatingPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForRepeatingPayment.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchExistingForRepeatingPayment.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForPayment.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForPayment.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForPayment.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForRepeatingPayment.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForRepeatingPayment.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForRepeatingPayment.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/match/TagMatchGetAllForRepeatingPayment.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagAdd.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagAdd.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagAdd.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagAdd.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagDelete.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagDelete.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagDelete.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagDelete.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGet.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGet.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGet.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetAll.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetAll.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetAll.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetAll.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetByName.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetByName.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetByName.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/tag/tag/TagGetByName.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/updater/RepeatingPaymentUpdater.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/updater/TagUpdater.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/updater/TagUpdater.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/updater/TagUpdater.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/updater/TagUpdater.java
diff --git a/src/de/deadlocker8/budgetmasterserver/server/version/VersionGet.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/version/VersionGet.java
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/server/version/VersionGet.java
rename to BudgetMasterServer/src/main/java/de/deadlocker8/budgetmasterserver/server/version/VersionGet.java
diff --git a/src/de/deadlocker8/budgetmasterserver/main/_de.properties b/BudgetMasterServer/src/main/resources/de/deadlocker8/budgetmasterserver/_en.properties
similarity index 57%
rename from src/de/deadlocker8/budgetmasterserver/main/_de.properties
rename to BudgetMasterServer/src/main/resources/de/deadlocker8/budgetmasterserver/_en.properties
index 22ceebad0..9a6167b39 100644
--- a/src/de/deadlocker8/budgetmasterserver/main/_de.properties
+++ b/BudgetMasterServer/src/main/resources/de/deadlocker8/budgetmasterserver/_en.properties
@@ -2,4 +2,7 @@ app.name=BudgetMasterServer
 version.code=10
 version.name=1.6.0_alpha
 version.date=31.08.17
-author=Robert Goldmann
\ No newline at end of file
+author=Robert Goldmann
+
+category.none=No Category
+category.rest=Rest
\ No newline at end of file
diff --git a/src/de/deadlocker8/budgetmasterserver/resources/settings.json b/BudgetMasterServer/src/main/resources/de/deadlocker8/budgetmasterserver/settings.json
similarity index 100%
rename from src/de/deadlocker8/budgetmasterserver/resources/settings.json
rename to BudgetMasterServer/src/main/resources/de/deadlocker8/budgetmasterserver/settings.json
diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseHandlerTest.java
similarity index 98%
rename from tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java
rename to BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseHandlerTest.java
index 2bab89363..80f6b7c66 100644
--- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseHandlerTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseHandlerTest.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.tests.server.database;
+package de.deadlocker8.budgetmaster.tests.database;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
@@ -39,8 +39,8 @@ public class DatabaseHandlerTest
 			handler = new DatabaseHandler(settings);			
 			databaseHandler = handler;
 			
-			Localization.init("de/deadlocker8/budgetmaster/resources/languages/");
-			Localization.loadLanguage(Locale.GERMANY);
+			Localization.init("de/deadlocker8/budgetmaster/");
+			Localization.loadLanguage(Locale.ENGLISH);
 		}
 		catch(IOException | URISyntaxException e)
 		{
diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseImportExportTest.java
similarity index 87%
rename from tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java
rename to BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseImportExportTest.java
index e5d92724d..6414890b6 100644
--- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseImportExportTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseImportExportTest.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.tests.server.database;
+package de.deadlocker8.budgetmaster.tests.database;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -18,12 +18,12 @@ import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
 import de.deadlocker8.budgetmaster.logic.category.Category;
+import de.deadlocker8.budgetmaster.logic.database.Database;
 import de.deadlocker8.budgetmaster.logic.payment.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.payment.RepeatingPayment;
 import de.deadlocker8.budgetmaster.logic.utils.FileHelper;
 import de.deadlocker8.budgetmasterserver.logic.Settings;
 import de.deadlocker8.budgetmasterserver.logic.Utils;
-import de.deadlocker8.budgetmasterserver.logic.database.Database;
 import de.deadlocker8.budgetmasterserver.logic.database.DatabaseExporter;
 import de.deadlocker8.budgetmasterserver.logic.database.DatabaseHandler;
 import de.deadlocker8.budgetmasterserver.logic.database.DatabaseImporter;
@@ -49,8 +49,8 @@ public class DatabaseImportExportTest
 			databaseHandler = handler;
 			tagHandler = new DatabaseTagHandler(settings);
 			
-			Localization.init("de/deadlocker8/budgetmaster/resources/languages/");
-			Localization.loadLanguage(Locale.GERMANY);
+			Localization.init("de/deadlocker8/budgetmaster/");
+			Localization.loadLanguage(Locale.ENGLISH);
 		}
 		catch(IOException | URISyntaxException e)
 		{
@@ -63,7 +63,7 @@ public class DatabaseImportExportTest
 	{	
 		try
 		{
-			File file = Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/import.json").toFile();
+			File file = Paths.get("src/test/resources/de/deadlocker8/budgetmaster/import.json").toFile();
 			Database database = FileHelper.loadDatabaseJSON(file);			
 			
 			DatabaseImporter importer = new DatabaseImporter(databaseHandler, tagHandler);
@@ -113,21 +113,21 @@ public class DatabaseImportExportTest
 			databaseHandler.deleteDatabase();
 			databaseHandler = new DatabaseHandler(settings);
 			
-			File file = Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/import.json").toFile();
+			File file = Paths.get("src/test/resources/de/deadlocker8/budgetmaster/import.json").toFile();
 			Database database = FileHelper.loadDatabaseJSON(file);			
 			
 			DatabaseImporter importer = new DatabaseImporter(databaseHandler, tagHandler);
 			importer.importDatabase(database);			
 			
-			file = Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/export.json").toFile();
+			file = Paths.get("src/test/resources/de/deadlocker8/budgetmaster/export.json").toFile();
 			DatabaseExporter exporter = new DatabaseExporter(settings);	
 			Gson gson = new GsonBuilder().setPrettyPrinting().create();
 			String databaseJSON = gson.toJson(exporter.exportDatabase()).replaceAll("\n", "");
 			FileHelper.saveDatabaseJSON(file, databaseJSON);
 			FileHelper.saveDatabaseJSON(new File("C:/Users/ROGO2/Desktop/123.json"), databaseJSON);
 			
-			String expectedJSON = new String(Files.readAllBytes(Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/import.json")));
-			String exportedJSON = new String(Files.readAllBytes(Paths.get("tests/de/deadlocker8/budgetmaster/tests/resources/export.json")));		
+			String expectedJSON = new String(Files.readAllBytes(Paths.get("src/test/resources/de/deadlocker8/budgetmaster/import.json")));
+			String exportedJSON = new String(Files.readAllBytes(Paths.get("src/test/resources/de/deadlocker8/budgetmaster/export.json")));		
 			
 			assertEquals(expectedJSON, exportedJSON);
 		}
diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseTagHandlerTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseTagHandlerTest.java
similarity index 98%
rename from tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseTagHandlerTest.java
rename to BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseTagHandlerTest.java
index 01a591820..475c0f7f4 100644
--- a/tests/de/deadlocker8/budgetmaster/tests/server/database/DatabaseTagHandlerTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/database/DatabaseTagHandlerTest.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.tests.server.database;
+package de.deadlocker8.budgetmaster.tests.database;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
diff --git a/tests/de/deadlocker8/budgetmaster/tests/server/settings/SettingsTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/settings/SettingsTest.java
similarity index 94%
rename from tests/de/deadlocker8/budgetmaster/tests/server/settings/SettingsTest.java
rename to BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/settings/SettingsTest.java
index 6136a4ca9..cd660fade 100644
--- a/tests/de/deadlocker8/budgetmaster/tests/server/settings/SettingsTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/tests/settings/SettingsTest.java
@@ -1,4 +1,4 @@
-package de.deadlocker8.budgetmaster.tests.server.settings;
+package de.deadlocker8.budgetmaster.tests.settings;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
diff --git a/BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster/_en.properties b/BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster/_en.properties
new file mode 100644
index 000000000..9a6167b39
--- /dev/null
+++ b/BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster/_en.properties
@@ -0,0 +1,8 @@
+app.name=BudgetMasterServer
+version.code=10
+version.name=1.6.0_alpha
+version.date=31.08.17
+author=Robert Goldmann
+
+category.none=No Category
+category.rest=Rest
\ No newline at end of file
diff --git a/tests/de/deadlocker8/budgetmaster/tests/resources/export.json b/BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster/export.json
similarity index 100%
rename from tests/de/deadlocker8/budgetmaster/tests/resources/export.json
rename to BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster/export.json
diff --git a/tests/de/deadlocker8/budgetmaster/tests/resources/import.json b/BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster/import.json
similarity index 100%
rename from tests/de/deadlocker8/budgetmaster/tests/resources/import.json
rename to BudgetMasterServer/src/test/resources/de/deadlocker8/budgetmaster/import.json
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 59ef5ad95..000000000
--- a/pom.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>BudgetMaster</groupId>
-  <artifactId>BudgetMaster</artifactId>
-  <version>0.0.1-SNAPSHOT</version>
-  <build>
-    <sourceDirectory>src</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>src</directory>
-        <excludes>
-          <exclude>**/*.java</exclude>
-        </excludes>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.3</version>
-        <configuration>
-          <source/>
-          <target/>
-        </configuration>
-      </plugin>
-    </plugins>
-    
-  </build>
- 
-  <dependencies>
-  	<dependency>
-  		<groupId>com.sparkjava</groupId>
-  		<artifactId>spark-core</artifactId>
-  		<version>2.5.4</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>org.slf4j</groupId>
-  		<artifactId>slf4j-simple</artifactId>
-  		<version>1.7.21</version>
-  	</dependency>
-  	<dependency>
-  		<groupId>com.google.code.gson</groupId>
-  		<artifactId>gson</artifactId>
-  		<version>2.8.1</version>
-  	</dependency>
-  	<dependency>
-  	  <groupId>org.controlsfx</groupId>
-  	  <artifactId>controlsfx</artifactId>
-   	 <version>8.40.12</version>
-	</dependency>
-	<dependency>
-    	<groupId>mysql</groupId>
-    	<artifactId>mysql-connector-java</artifactId>
-    	<version>6.0.5</version>
-	</dependency>
-	<dependency>
-    	<groupId>joda-time</groupId>
-    	<artifactId>joda-time</artifactId>
-    	<version>2.9.7</version>
-	</dependency>
-	<dependency>
-	    <groupId>com.itextpdf</groupId>
-	    <artifactId>itextpdf</artifactId>
-    	<version>5.0.6</version>
-	</dependency>
-	<dependency>
-		<groupId>de.deadlocker8</groupId>
-		<artifactId>tools</artifactId>
-			<version>1.0</version>
-			<scope>system</scope>
-		<systemPath>${basedir}/lib/Tools.jar</systemPath>
-	</dependency>
-  </dependencies>
-</project>
\ No newline at end of file
diff --git a/settings.json b/settings.json
deleted file mode 100644
index 359fd4076..000000000
--- a/settings.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-	"databaseUrl": "jdbc:mysql://localhost:3306/",
-	"databaseName": "budgetmaster",
-	"databaseUsername": "root",
-	"databasePassword": "",
-	"serverPort": 9000,
-	"serverSecret": "geheim",
-	"keystorePath": "C:/Programmierung/eclipse/workspace/BudgetMaster/certs/keystore.jks",
-	"keystorePassword": "geheim"
-}
\ No newline at end of file
-- 
GitLab