diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000000000000000000000000000000000..e77d398c72b24fb5dd1643eff7d26c1c70faffab
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+end_of_line = lf
+insert_final_newline = true
+charset = utf-8
+indent_style = tab
+indent_size = 4
+
+[*.yml]
+indent_style = space
+indent_size = 2
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..842380dae0463548dc0cbfb3e74636c57cdc0526
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,17 @@
+language: java
+
+dist: trusty
+
+cache:
+  directories:
+    - $HOME/.m2
+
+jdk:
+  - oraclejdk11
+  - openjdk11
+
+os:
+  - linux
+
+branches:
+  except: []
diff --git a/build.gradle b/build.gradle
index 1a567fa0a6d22ae1b897c5a97def33c3e2d325e5..6c3b3e32de7b633aefdedfb3c0e84b58f6b6cbc2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,44 +1,42 @@
-buildscript {
-    repositories {
-        mavenCentral()
-        jcenter()
-    }
-
-    dependencies {
-        classpath "com.github.ben-manes:gradle-versions-plugin:$gradle_versions_plugin_version"
-        classpath "org.junit.platform:junit-platform-gradle-plugin:$gradle_junit_plugin_version"
-    }
+plugins {
+	id 'java'
+	id 'application'
+	id "com.github.ben-manes.versions" version "0.20.0"
 }
 
-apply plugin: 'java'
-apply plugin: 'application'
-apply plugin: 'com.github.ben-manes.versions'
-apply plugin: 'org.junit.platform.gradle.plugin'
+sourceCompatibility = JavaVersion.VERSION_11
+targetCompatibility = JavaVersion.VERSION_11
 
 repositories {
-    mavenLocal()
-    jcenter()
-    mavenCentral()
+	mavenLocal()
+	mavenCentral()
+	jcenter()
 }
 
+
+mainClassName = 'de.thro.inf.prg3.a12.App'
+
 dependencies {
-    /* Commons Lang3 */
-    compile "org.apache.commons:commons-lang3:$commons_lang_version"
-
-    /* Retrofit */
-    compile "com.squareup.retrofit2:retrofit:$retrofit2_version"
-    compile "com.squareup.retrofit2:converter-gson:$retrofit2_version"
-    compile "com.squareup.retrofit2:adapter-java8:$retrofit2_version"
-
-    /* JUnit 5 */
-    testCompile("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
-    testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")
-    testRuntime("org.junit.platform:junit-platform-launcher:${junitPlatformVersion}")
-    testRuntime("org.apache.logging.log4j:log4j-core:${log4jVersion}")
-    testRuntime("org.apache.logging.log4j:log4j-jul:${log4jVersion}")
+	/* Commons Lang3 */
+	implementation("org.apache.commons:commons-lang3:$commons_lang_version")
+
+	/* Retrofit */
+	implementation("com.squareup.retrofit2:retrofit:$retrofit2_version")
+	implementation("com.squareup.retrofit2:converter-gson:$retrofit2_version")
+	implementation("com.squareup.retrofit2:adapter-java8:$retrofit2_version")
+
+	/* JUnit 5 */
+	testCompile("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
+	testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
+	testRuntime("org.junit.jupiter:junit-jupiter-params:${junitVersion}")
+	testImplementation("org.apache.logging.log4j:log4j-core:${log4jVersion}")
+	testRuntime("org.apache.logging.log4j:log4j-jul:${log4jVersion}")
 }
 
-mainClassName = 'de.fhro.inf.prg3.a12.App'
+test {
+	useJUnitPlatform()
+	testLogging {
+		events "passed", "skipped", "failed"
 
-sourceCompatibility = 1.8
-targetCompatibility = 1.8
\ No newline at end of file
+	}
+}
diff --git a/gradle.properties b/gradle.properties
index 03f07ffd4e95a4a130f1e5963ca4b81260df3da9..7ef1e58e96c12cacd67b9f9ed38eb71242b043c0 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,8 +1,9 @@
 gradle_versions_plugin_version=0.17.0
 gradle_junit_plugin_version=1.1.0-M1
 
-commons_lang_version=3.7
-retrofit2_version=2.3.0
+commons_lang_version=3.8.1
+retrofit2_version=2.5.0
 junitPlatformVersion = 1.1.0-M1
 junitJupiterVersion = 5.1.0-M1
-log4jVersion = 2.10.0
\ No newline at end of file
+log4jVersion = 2.11.1
+junitVersion=5.4.0-M1
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 01b8bf6b1f99cad9213fc495b33ad5bbab8efd20..457aad0d98108420a977756b7145c93c8910b076 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 933b6473ce1ea83ca681969501e2c05453c313a1..6b3851a8ad2c97bc9a8c9e232349a37d96eb5f43 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.1-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-bin.zip
diff --git a/gradlew b/gradlew
index cccdd3d517fc5249beaefa600691cf150f2fa3e6..af6708ff229fda75da4f7cc4da4747217bac4d53 100755
--- a/gradlew
+++ b/gradlew
@@ -28,7 +28,7 @@ APP_NAME="Gradle"
 APP_BASE_NAME=`basename "$0"`
 
 # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+DEFAULT_JVM_OPTS='"-Xmx64m"'
 
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 MAX_FD="maximum"
diff --git a/gradlew.bat b/gradlew.bat
index f9553162f122c71b34635112e717c3e733b5b212..6d57edc706c93465988754383a2d7ff353d4e79f 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0
 set APP_HOME=%DIRNAME%
 
 @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
+set DEFAULT_JVM_OPTS="-Xmx64m"
 
 @rem Find java.exe
 if defined JAVA_HOME goto findJavaFromJavaHome
diff --git a/src/main/java/de/fhro/inf/prg3/a12/App.java b/src/main/java/de/thro/inf/prg3/a12/App.java
similarity index 94%
rename from src/main/java/de/fhro/inf/prg3/a12/App.java
rename to src/main/java/de/thro/inf/prg3/a12/App.java
index 4d882cab5d287259fbb670bb7b744520894e7fb5..10dd70f6d2ab94e1ba4a04b011ffa0c988b936e9 100644
--- a/src/main/java/de/fhro/inf/prg3/a12/App.java
+++ b/src/main/java/de/thro/inf/prg3/a12/App.java
@@ -1,8 +1,8 @@
-package de.fhro.inf.prg3.a12;
+package de.thro.inf.prg3.a12;
 
-import de.fhro.inf.prg3.a12.icndb.JokeGenerator;
-import de.fhro.inf.prg3.a12.model.JokeDto;
-import de.fhro.inf.prg3.a12.model.ResponseWrapper;
+import de.thro.inf.prg3.a12.icndb.JokeGenerator;
+import de.thro.inf.prg3.a12.model.JokeDto;
+import de.thro.inf.prg3.a12.model.ResponseWrapper;
 
 import java.util.Scanner;
 import java.util.stream.Stream;
diff --git a/src/main/java/de/fhro/inf/prg3/a12/icndb/ICNDBApi.java b/src/main/java/de/thro/inf/prg3/a12/icndb/ICNDBApi.java
similarity index 91%
rename from src/main/java/de/fhro/inf/prg3/a12/icndb/ICNDBApi.java
rename to src/main/java/de/thro/inf/prg3/a12/icndb/ICNDBApi.java
index a2aa4935fd3eb23e79c6384e75fbab60e5a8b895..900d808d8627ffd13193743ee0d01bc00f149ee1 100644
--- a/src/main/java/de/fhro/inf/prg3/a12/icndb/ICNDBApi.java
+++ b/src/main/java/de/thro/inf/prg3/a12/icndb/ICNDBApi.java
@@ -1,7 +1,7 @@
-package de.fhro.inf.prg3.a12.icndb;
+package de.thro.inf.prg3.a12.icndb;
 
-import de.fhro.inf.prg3.a12.model.JokeDto;
-import de.fhro.inf.prg3.a12.model.ResponseWrapper;
+import de.thro.inf.prg3.a12.model.JokeDto;
+import de.thro.inf.prg3.a12.model.ResponseWrapper;
 import retrofit2.http.GET;
 import retrofit2.http.Path;
 import retrofit2.http.Query;
diff --git a/src/main/java/de/fhro/inf/prg3/a12/icndb/ICNDBService.java b/src/main/java/de/thro/inf/prg3/a12/icndb/ICNDBService.java
similarity index 93%
rename from src/main/java/de/fhro/inf/prg3/a12/icndb/ICNDBService.java
rename to src/main/java/de/thro/inf/prg3/a12/icndb/ICNDBService.java
index 918af9ce1195f1f00f57b1945982d077d66d6ed0..77751cc0962f7680c9f1b2bd01240f1e08940dcf 100644
--- a/src/main/java/de/fhro/inf/prg3/a12/icndb/ICNDBService.java
+++ b/src/main/java/de/thro/inf/prg3/a12/icndb/ICNDBService.java
@@ -1,7 +1,7 @@
-package de.fhro.inf.prg3.a12.icndb;
+package de.thro.inf.prg3.a12.icndb;
 
-import de.fhro.inf.prg3.a12.model.JokeDto;
-import de.fhro.inf.prg3.a12.model.ResponseWrapper;
+import de.thro.inf.prg3.a12.model.JokeDto;
+import de.thro.inf.prg3.a12.model.ResponseWrapper;
 import retrofit2.Retrofit;
 import retrofit2.adapter.java8.Java8CallAdapterFactory;
 import retrofit2.converter.gson.GsonConverterFactory;
diff --git a/src/main/java/de/fhro/inf/prg3/a12/icndb/JokeGenerator.java b/src/main/java/de/thro/inf/prg3/a12/icndb/JokeGenerator.java
similarity index 87%
rename from src/main/java/de/fhro/inf/prg3/a12/icndb/JokeGenerator.java
rename to src/main/java/de/thro/inf/prg3/a12/icndb/JokeGenerator.java
index ee012e223d0df6c574a967742a7de5f5473f42e4..761737c45c9e8e38efb20d0b4eba5c989d75e694 100644
--- a/src/main/java/de/fhro/inf/prg3/a12/icndb/JokeGenerator.java
+++ b/src/main/java/de/thro/inf/prg3/a12/icndb/JokeGenerator.java
@@ -1,7 +1,7 @@
-package de.fhro.inf.prg3.a12.icndb;
+package de.thro.inf.prg3.a12.icndb;
 
-import de.fhro.inf.prg3.a12.model.JokeDto;
-import de.fhro.inf.prg3.a12.model.ResponseWrapper;
+import de.thro.inf.prg3.a12.model.JokeDto;
+import de.thro.inf.prg3.a12.model.ResponseWrapper;
 import org.apache.commons.lang3.NotImplementedException;
 
 import java.util.stream.Stream;
diff --git a/src/main/java/de/fhro/inf/prg3/a12/icndb/suppliers/AllJokesSupplier.java b/src/main/java/de/thro/inf/prg3/a12/icndb/suppliers/AllJokesSupplier.java
similarity index 81%
rename from src/main/java/de/fhro/inf/prg3/a12/icndb/suppliers/AllJokesSupplier.java
rename to src/main/java/de/thro/inf/prg3/a12/icndb/suppliers/AllJokesSupplier.java
index b2602b7153794f4c526bc4b2c23f050750c52ad6..60603f26794dcb57cb013ce18859c9f39ed1babf 100644
--- a/src/main/java/de/fhro/inf/prg3/a12/icndb/suppliers/AllJokesSupplier.java
+++ b/src/main/java/de/thro/inf/prg3/a12/icndb/suppliers/AllJokesSupplier.java
@@ -1,9 +1,9 @@
-package de.fhro.inf.prg3.a12.icndb.suppliers;
+package de.thro.inf.prg3.a12.icndb.suppliers;
 
-import de.fhro.inf.prg3.a12.icndb.ICNDBApi;
-import de.fhro.inf.prg3.a12.icndb.ICNDBService;
-import de.fhro.inf.prg3.a12.model.JokeDto;
-import de.fhro.inf.prg3.a12.model.ResponseWrapper;
+import de.thro.inf.prg3.a12.icndb.ICNDBApi;
+import de.thro.inf.prg3.a12.icndb.ICNDBService;
+import de.thro.inf.prg3.a12.model.JokeDto;
+import de.thro.inf.prg3.a12.model.ResponseWrapper;
 import org.apache.commons.lang3.NotImplementedException;
 
 /**
diff --git a/src/main/java/de/fhro/inf/prg3/a12/icndb/suppliers/RandomJokeSupplier.java b/src/main/java/de/thro/inf/prg3/a12/icndb/suppliers/RandomJokeSupplier.java
similarity index 69%
rename from src/main/java/de/fhro/inf/prg3/a12/icndb/suppliers/RandomJokeSupplier.java
rename to src/main/java/de/thro/inf/prg3/a12/icndb/suppliers/RandomJokeSupplier.java
index 9ddaa3d77b02832a6b07a8c053d958c80f4bda8c..7b01958f827bfd23ef307ea05269400f516dc149 100644
--- a/src/main/java/de/fhro/inf/prg3/a12/icndb/suppliers/RandomJokeSupplier.java
+++ b/src/main/java/de/thro/inf/prg3/a12/icndb/suppliers/RandomJokeSupplier.java
@@ -1,9 +1,9 @@
-package de.fhro.inf.prg3.a12.icndb.suppliers;
+package de.thro.inf.prg3.a12.icndb.suppliers;
 
-import de.fhro.inf.prg3.a12.icndb.ICNDBApi;
-import de.fhro.inf.prg3.a12.icndb.ICNDBService;
-import de.fhro.inf.prg3.a12.model.JokeDto;
-import de.fhro.inf.prg3.a12.model.ResponseWrapper;
+import de.thro.inf.prg3.a12.icndb.ICNDBApi;
+import de.thro.inf.prg3.a12.icndb.ICNDBService;
+import de.thro.inf.prg3.a12.model.JokeDto;
+import de.thro.inf.prg3.a12.model.ResponseWrapper;
 import org.apache.commons.lang3.NotImplementedException;
 
 /**
diff --git a/src/main/java/de/fhro/inf/prg3/a12/model/JokeDto.java b/src/main/java/de/thro/inf/prg3/a12/model/JokeDto.java
similarity index 98%
rename from src/main/java/de/fhro/inf/prg3/a12/model/JokeDto.java
rename to src/main/java/de/thro/inf/prg3/a12/model/JokeDto.java
index ee628af5d5bb288a60db18985efc1f3e9439c2f2..e1476e4612b1acafbfe308c5e66e219ec2faaf0e 100644
--- a/src/main/java/de/fhro/inf/prg3/a12/model/JokeDto.java
+++ b/src/main/java/de/thro/inf/prg3/a12/model/JokeDto.java
@@ -1,4 +1,4 @@
-package de.fhro.inf.prg3.a12.model;
+package de.thro.inf.prg3.a12.model;
 
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
diff --git a/src/main/java/de/fhro/inf/prg3/a12/model/ResponseWrapper.java b/src/main/java/de/thro/inf/prg3/a12/model/ResponseWrapper.java
similarity index 97%
rename from src/main/java/de/fhro/inf/prg3/a12/model/ResponseWrapper.java
rename to src/main/java/de/thro/inf/prg3/a12/model/ResponseWrapper.java
index baf2ae489fa584ed2be07084205f9dcf0af52050..b30959d23fa4878a9835cda6c12c362a224bfb3d 100644
--- a/src/main/java/de/fhro/inf/prg3/a12/model/ResponseWrapper.java
+++ b/src/main/java/de/thro/inf/prg3/a12/model/ResponseWrapper.java
@@ -1,4 +1,4 @@
-package de.fhro.inf.prg3.a12.model;
+package de.thro.inf.prg3.a12.model;
 
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
diff --git a/src/test/java/de/fhro/inf/prg3/a12/icndb/ICNDBTests.java b/src/test/java/de/thro/inf/prg3/a12/icndb/ICNDBTests.java
similarity index 95%
rename from src/test/java/de/fhro/inf/prg3/a12/icndb/ICNDBTests.java
rename to src/test/java/de/thro/inf/prg3/a12/icndb/ICNDBTests.java
index 80cd1d6e8176bb10bf669b00eba3d145efdcfd6e..cfaf38c30a61333e27fd88ad9bb1ffdd136c321a 100644
--- a/src/test/java/de/fhro/inf/prg3/a12/icndb/ICNDBTests.java
+++ b/src/test/java/de/thro/inf/prg3/a12/icndb/ICNDBTests.java
@@ -1,7 +1,7 @@
-package de.fhro.inf.prg3.a12.icndb;
+package de.thro.inf.prg3.a12.icndb;
 
-import de.fhro.inf.prg3.a12.model.JokeDto;
-import de.fhro.inf.prg3.a12.model.ResponseWrapper;
+import de.thro.inf.prg3.a12.model.JokeDto;
+import de.thro.inf.prg3.a12.model.ResponseWrapper;
 import org.junit.jupiter.api.Test;
 
 import java.util.ArrayList;
diff --git a/src/test/java/de/fhro/inf/prg3/a12/icndb/JokesGeneratorTests.java b/src/test/java/de/thro/inf/prg3/a12/icndb/JokesGeneratorTests.java
similarity index 92%
rename from src/test/java/de/fhro/inf/prg3/a12/icndb/JokesGeneratorTests.java
rename to src/test/java/de/thro/inf/prg3/a12/icndb/JokesGeneratorTests.java
index 12f69911896ec80db2e7bc0cdc1db4fdff77ed59..20c9761be5c0489b059f43b0902d9f8c80ebfee2 100644
--- a/src/test/java/de/fhro/inf/prg3/a12/icndb/JokesGeneratorTests.java
+++ b/src/test/java/de/thro/inf/prg3/a12/icndb/JokesGeneratorTests.java
@@ -1,4 +1,4 @@
-package de.fhro.inf.prg3.a12.icndb;
+package de.thro.inf.prg3.a12.icndb;
 
 import org.junit.jupiter.api.Test;