diff --git a/pom.xml b/pom.xml
index 1c8494f0cd97f15135693fd37608625a6c7b01e3..5bcb117fd4dcb47f6a209d0c776f1d4bf72259e2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,17 +32,37 @@
         </repository>
     </repositories>
 
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>1.5.13.RELEASE</version>
-        <relativePath/>
-    </parent>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring-boot-dependencies.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>de.thecodelabs</groupId>
+                <artifactId>jlibs</artifactId>
+                <version>${jlibs.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <java.version>1.8</java.version>
+
+        <spring-boot-dependencies.version>1.5.13.RELEASE</spring-boot-dependencies.version>
+        <jlibs.version>2.0.1</jlibs.version>
+
+        <app.versionDate>${maven.build.timestamp}</app.versionDate>
+        <maven.build.timestamp.format>dd.MM.yy</maven.build.timestamp.format>
+        <app.versionCode>14</app.versionCode>
+        <app.author>Robert Goldmann</app.author>
     </properties>
 
     <dependencies>
@@ -102,15 +122,18 @@
         </dependency>
 
         <dependency>
-            <groupId>de.tobias</groupId>
+            <groupId>de.thecodelabs</groupId>
             <artifactId>libLogger-slf4j</artifactId>
-            <version>1.0.6</version>
         </dependency>
 
         <dependency>
             <groupId>de.tobias</groupId>
             <artifactId>libUtils</artifactId>
-            <version>1.7.4</version>
+        </dependency>
+
+        <dependency>
+            <groupId>de.thecodelabs</groupId>
+            <artifactId>libStorage</artifactId>
         </dependency>
 
         <dependency>
@@ -120,7 +143,23 @@
     </dependencies>
 
     <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                </configuration>
+            </plugin>
+
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
diff --git a/src/main/java/de/deadlocker8/budgetmaster/Build.java b/src/main/java/de/deadlocker8/budgetmaster/Build.java
new file mode 100644
index 0000000000000000000000000000000000000000..3799865532233e6d8d6c0fc7f0862983b13d4fbe
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/Build.java
@@ -0,0 +1,85 @@
+package de.deadlocker8.budgetmaster;
+
+
+import de.thecodelabs.storage.settings.Storage;
+import de.thecodelabs.storage.settings.StorageTypes;
+import de.thecodelabs.storage.settings.annotation.Key;
+
+public class Build
+{
+	@Key("app.name")
+	private String appName;
+
+	@Key("app.version.name")
+	private String versionName;
+
+	@Key("app.version.code")
+	private String versionCode;
+
+	@Key("app.version.date")
+	private String versionDate;
+
+	@Key("app.author")
+	private String author;
+
+	private static Build instance;
+
+	public static Build getInstance()
+	{
+		if(instance == null)
+		{
+			instance = Storage.load(Build.class.getClassLoader().getResourceAsStream("build.properties"), StorageTypes.PROPERTIES, Build.class);
+		}
+		return instance;
+	}
+
+	public Build(String appName, String versionName, String versionCode, String versionDate, String author)
+	{
+		this.appName = appName;
+		this.versionName = versionName;
+		this.versionCode = versionCode;
+		this.versionDate = versionDate;
+		this.author = author;
+	}
+
+	public Build()
+	{
+	}
+
+	public String getAppName()
+	{
+		return appName;
+	}
+
+	public String getVersionName()
+	{
+		return versionName;
+	}
+
+	public String getVersionCode()
+	{
+		return versionCode;
+	}
+
+	public String getVersionDate()
+	{
+		return versionDate;
+	}
+
+	public String getAuthor()
+	{
+		return author;
+	}
+
+	@Override
+	public String toString()
+	{
+		return "Build{" +
+				"appName='" + appName + '\'' +
+				", versionName='" + versionName + '\'' +
+				", versionCode='" + versionCode + '\'' +
+				", versionDate='" + versionDate + '\'' +
+				", author='" + author + '\'' +
+				'}';
+	}
+}
diff --git a/src/main/java/de/deadlocker8/budgetmaster/Main.java b/src/main/java/de/deadlocker8/budgetmaster/Main.java
index 8a1b661d5078063e42c07d1d0f63242066635faa..48c8f630ad327396e4db9734230ec9cce1b143f3 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/Main.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/Main.java
@@ -1,10 +1,10 @@
 package de.deadlocker8.budgetmaster;
 
 import de.deadlocker8.budgetmaster.utils.Strings;
-import de.tobias.logger.FileOutputOption;
-import de.tobias.logger.LogLevel;
-import de.tobias.logger.LogLevelFilter;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.FileOutputOption;
+import de.thecodelabs.logger.LogLevel;
+import de.thecodelabs.logger.LogLevelFilter;
+import de.thecodelabs.logger.Logger;
 import de.tobias.utils.io.PathUtils;
 import de.tobias.utils.util.Localization;
 import de.tobias.utils.util.SystemUtils;
@@ -53,7 +53,9 @@ public class Main implements ApplicationRunner
 
 		Logger.init(applicationSupportFolder);
 		Logger.setFileOutput(FileOutputOption.COMBINED);
-		Logger.appInfo(Localization.getString(Strings.APP_NAME), Localization.getString(Strings.VERSION_NAME), Localization.getString(Strings.VERSION_CODE), Localization.getString(Strings.VERSION_DATE));
+
+		Build build = Build.getInstance();
+		Logger.appInfo(build.getAppName(), build.getVersionName(), build.getVersionCode(), build.getVersionDate());
 
 		ProgramArgs.setArgs(Arrays.asList(args));
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/advices/BuildAdvice.java b/src/main/java/de/deadlocker8/budgetmaster/advices/BuildAdvice.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c2fc9770f12a745688a3a02fc4426c35101670a
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/advices/BuildAdvice.java
@@ -0,0 +1,15 @@
+package de.deadlocker8.budgetmaster.advices;
+
+import de.deadlocker8.budgetmaster.Build;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ModelAttribute;
+
+@ControllerAdvice
+public class BuildAdvice
+{
+	@ModelAttribute("build")
+	public Build getBuild()
+	{
+		return Build.getInstance();
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java b/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
index 933d877fce0e24cde94e3c9dc017e262161b6aa5..27979476ce06e46bead8f072a2c0aceaab5f58b7 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/authentication/UserService.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.authentication;
 
 import de.deadlocker8.budgetmaster.ProgramArgs;
 import de.deadlocker8.budgetmaster.services.AccountService;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
index b711835a41c461f66b6f683c22ff0f238aee26b5..d7f53db7c334ad2b67c7a6162ea547d6688b2af8 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/SettingsController.java
@@ -13,7 +13,7 @@ import de.deadlocker8.budgetmaster.services.HelpersService;
 import de.deadlocker8.budgetmaster.services.ImportService;
 import de.deadlocker8.budgetmaster.utils.LanguageType;
 import de.deadlocker8.budgetmaster.utils.Strings;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
 import de.tobias.utils.util.RandomUtils;
 import org.joda.time.DateTime;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
index 94cfdb1e87c6636aba26697d775dbdaa57b503ed..b1f4df260ce21c731a48d0270f705a09144db360 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/database/DatabaseParser.java
@@ -3,7 +3,7 @@ package de.deadlocker8.budgetmaster.database;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import de.deadlocker8.budgetmaster.database.legacy.LegacyParser;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
 
 public class DatabaseParser
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java b/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java
index dab639fd11ccdd73c2b3a51d2526a3daea6c1569..b1472a4c3256189d514409189b975942ab20df23 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/AccountService.java
@@ -6,7 +6,7 @@ import de.deadlocker8.budgetmaster.entities.Account;
 import de.deadlocker8.budgetmaster.repositories.AccountRepository;
 import de.deadlocker8.budgetmaster.repositories.TransactionRepository;
 import de.deadlocker8.budgetmaster.utils.Strings;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java b/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java
index d1ab51e136b802feb23c24bc4e5d7a60bc3aa723..2ce8a67db91b9b351a4756a6352f37f6a3c9d8f5 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/CategoryService.java
@@ -5,7 +5,7 @@ import de.deadlocker8.budgetmaster.entities.CategoryType;
 import de.deadlocker8.budgetmaster.entities.Transaction;
 import de.deadlocker8.budgetmaster.repositories.CategoryRepository;
 import de.deadlocker8.budgetmaster.utils.Strings;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java b/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
index c699f5c2b2870e157d00c22f6749551b792e68bd..cd448af1ca885090f94e76097647380b83bb4284 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/DatabaseService.java
@@ -5,7 +5,7 @@ import de.deadlocker8.budgetmaster.database.Database;
 import de.deadlocker8.budgetmaster.entities.Account;
 import de.deadlocker8.budgetmaster.entities.Category;
 import de.deadlocker8.budgetmaster.entities.Transaction;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import org.joda.time.DateTime;
 import org.joda.time.format.ISODateTimeFormat;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/de/deadlocker8/budgetmaster/services/SettingsService.java b/src/main/java/de/deadlocker8/budgetmaster/services/SettingsService.java
index a0d05e15de704cc020c7cf8352dfe04e5350683d..622ff4616f3d6a0500e1438a0ff05ad690e39e74 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/services/SettingsService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/services/SettingsService.java
@@ -2,7 +2,7 @@ package de.deadlocker8.budgetmaster.services;
 
 import de.deadlocker8.budgetmaster.entities.Settings;
 import de.deadlocker8.budgetmaster.repositories.SettingsRepository;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
diff --git a/src/main/java/de/deadlocker8/budgetmaster/utils/Strings.java b/src/main/java/de/deadlocker8/budgetmaster/utils/Strings.java
index d9a2d4d27f76cc8723b5d8ecb78dca551bc5fef1..21a2cc56884e5af0878072e2ce52c6033328b0d6 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/utils/Strings.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/utils/Strings.java
@@ -2,12 +2,6 @@ package de.deadlocker8.budgetmaster.utils;
 
 public class Strings 
 {    
-    //APP_INFO
-    public static final String APP_NAME = "app.name";
-    public static final String VERSION_CODE = "version.code";
-    public static final String VERSION_NAME = "version.name";
-    public static final String VERSION_DATE = "version.date";
-
     //MISC
     public static final String CATEGORY_NONE = "category.none";
     public static final String CATEGORY_REST = "category.rest";
diff --git a/src/main/resources/build.properties b/src/main/resources/build.properties
new file mode 100644
index 0000000000000000000000000000000000000000..6f0fcb7114a5b2e5ac239faefd34bbd53ca22c52
--- /dev/null
+++ b/src/main/resources/build.properties
@@ -0,0 +1,5 @@
+app.name=${pom.artifactId}
+app.version.code=${app.versionCode}
+app.version.name=${pom.version}
+app.version.date=${app.versionDate}
+app.author=${app.author}
\ No newline at end of file
diff --git a/src/main/resources/languages/_de.properties b/src/main/resources/languages/_de.properties
index 15725236a258e61026fdef0bac696703ece99823..01d4603a5b1762752d0543950a5ca4c546191458 100644
--- a/src/main/resources/languages/_de.properties
+++ b/src/main/resources/languages/_de.properties
@@ -1,9 +1,4 @@
 # DEFAULT
-app.name=BudgetMaster
-version.code=14
-version.name=2.0.0
-version.date=23.07.18
-author=Robert Goldmann
 credits=Verwendete Schriftarten: Roboto<br>Verwendete Bibliotheken:<br>spring-boot-starter-parent 1.5.13<br>spring-boot-devtools 1.5.13<br>spring-boot-starter-web 1.5.13<br>spring-boot-starter-test 1.5.13<br>spring-boot-starter-data-jpa 1.5.13<br>spring-boot-starter-security 1.5.13<br>tools 1.0.0<br>h2 1.4.197<br>joda-time 2.9.9<br>usertype.core 5.0.0.GA<br>maven-surefire-plugin 2.12<br>launch4j-maven-plugin 1.7.21<br>gson 2.8.1<br>jquery 2.1.1<br>materialize 0.100.2<br>fontawesome 5.0.10<br>Google Material Icons<br>Spectrum Colorpicker 1.8.0
 folder=Deadlocker/BudgetMaster
 roadmap.url=https://roadmaps.thecodelabs.de/php/index.php?id=1
diff --git a/src/main/resources/languages/_en.properties b/src/main/resources/languages/_en.properties
index f2f6532d326fccf7f9b455e200779c137ba41188..aa7eb67c529ad13ad59c382eeebed161d6d688cd 100644
--- a/src/main/resources/languages/_en.properties
+++ b/src/main/resources/languages/_en.properties
@@ -1,9 +1,4 @@
 # DEFAULT
-app.name=BudgetMaster
-version.code=14
-version.name=2.0.0
-version.date=23.07.18
-author=Robert Goldmann
 credits=Fonts used: Roboto<br>Libraries used:<br>spring-boot-starter-parent 1.5.13<br>spring-boot-devtools 1.5.13<br>spring-boot-starter-web 1.5.13<br>spring-boot-starter-test 1.5.13<br>spring-boot-starter-data-jpa 1.5.13<br>spring-boot-starter-security 1.5.13<br>tools 1.0.0<br>h2 1.4.197<br>joda-time 2.9.9<br>usertype.core 5.0.0.GA<br>maven-surefire-plugin 2.12<br>launch4j-maven-plugin 1.7.21<br>gson 2.8.1<br>jquery 2.1.1<br>materialize 0.100.2<br>fontawesome 5.0.10<br>Google Material Icons<br>Spectrum Colorpicker 1.8.0
 folder=Deadlocker/BudgetMaster
 roadmap.url=https://roadmaps.thecodelabs.de/php/index.php?id=2
diff --git a/src/main/resources/templates/about.ftl b/src/main/resources/templates/about.ftl
index 657d884d4baab40b51f7831e266eda71aa396a8d..2cc43cad31f415406fec8e01ba8be738c3ba0e8a 100644
--- a/src/main/resources/templates/about.ftl
+++ b/src/main/resources/templates/about.ftl
@@ -18,15 +18,15 @@
                     <div class="hide-on-small-only"><br><br></div>
                     <div class="row">
                         <div class="col s4 m3 offset-m2 l2 offset-l3 bold">${locale.getString("about.version")}</div>
-                        <div class="col s8 m5 l4">${locale.getString("version.name")} (${locale.getString("version.code")})</div>
+                        <div class="col s8 m5 l4">${build.getVersionName()} (${build.getVersionCode()})</div>
                     </div>
                     <div class="row">
                         <div class="col s4 m3 offset-m2 l2 offset-l3 bold">${locale.getString("about.date")}</div>
-                        <div class="col s8 m5 l4">${locale.getString("version.date")}</div>
+                        <div class="col s8 m5 l4">${build.getVersionDate()}</div>
                     </div>
                     <div class="row">
                         <div class="col s4 m3 offset-m2 l2 offset-l3 bold">${locale.getString("about.author")}</div>
-                        <div class="col s8 m5 l4">${locale.getString("author")}</div>
+                        <div class="col s8 m5 l4">${build.getAuthor()}</div>
                     </div>
                     <div class="row">
                         <div class="col s4 m3 offset-m2 l2 offset-l3 bold">${locale.getString("about.roadmap")}</div>
diff --git a/src/main/resources/templates/settings.ftl b/src/main/resources/templates/settings.ftl
index 606388cb923087e1c15f752b29524ed521add52a..caf735bac55cbf3ffcbcaa78e90a70c88fbcd161 100644
--- a/src/main/resources/templates/settings.ftl
+++ b/src/main/resources/templates/settings.ftl
@@ -108,7 +108,7 @@
                                             </div>
                                         </td>
                                         <td>${locale.getString("settings.updates.current.version")}</td>
-                                        <td>v${locale.getString("version.name")} (${locale.getString("version.code")})</td>
+                                        <td>v${build.getVersionName()} (${build.getVersionCode()})</td>
                                     </tr>
                                     <tr>
                                         <td>${locale.getString("settings.updates.latest.version")}</td>
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
index 9673448ee16aef2d98b8482553c939ab5bb6908e..4ffccc79aa8d232fa743fa4e13be1c1223ab6bb2 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/DatabaseParser_v3Test.java
@@ -4,7 +4,7 @@ import de.deadlocker8.budgetmaster.entities.*;
 import de.deadlocker8.budgetmaster.repeating.RepeatingOption;
 import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndAfterXTimes;
 import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierDays;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import de.tobias.utils.util.Localization;
 import de.tobias.utils.util.Localization.LocalizationDelegate;
 import org.joda.time.DateTime;
diff --git a/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java b/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
index 5f549b0a820dbe2e1bdaf2c917ce372418576c95..6b082834aa21a82b88fdcfaa6acd34dbb174c41f 100644
--- a/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
+++ b/src/test/java/de/deadlocker8/budgetmaster/database/LegacyParserTest.java
@@ -7,7 +7,7 @@ import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndDate;
 import de.deadlocker8.budgetmaster.repeating.endoption.RepeatingEndNever;
 import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierDays;
 import de.deadlocker8.budgetmaster.repeating.modifier.RepeatingModifierMonths;
-import de.tobias.logger.Logger;
+import de.thecodelabs.logger.Logger;
 import org.joda.time.DateTime;
 import org.joda.time.format.DateTimeFormat;
 import org.junit.Test;