diff --git a/.externalToolBuilders/mvnw clean generate-sources.launch b/.externalToolBuilders/mvnw clean generate-sources.launch
index b62026656baf3b7c682922706ed85d0947c554e3..42706358f64815063d28c620f37283482a03ee3f 100644
--- a/.externalToolBuilders/mvnw clean generate-sources.launch	
+++ b/.externalToolBuilders/mvnw clean generate-sources.launch	
@@ -2,8 +2,9 @@
 <launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
     <stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;resources&gt;&#13;&#10;&lt;item path=&quot;/gitsearch/target/generated-sources&quot; type=&quot;2&quot;/&gt;&#13;&#10;&lt;item path=&quot;/gitsearch/target/generated-test-sources&quot; type=&quot;2&quot;/&gt;&#13;&#10;&lt;/resources&gt;}"/>
     <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+    <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
     <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/gitsearch/mvnw.cmd}"/>
-    <stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
+    <stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="incremental,"/>
     <stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="generate-sources"/>
     <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
     <stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/gitsearch}"/>
diff --git a/.project b/.project
index 1b4a4eb108290395d77debd5e395d53dd3576679..6c9cf5fa2bbdf2f2bd2c600d1a4712e2ff3d8b93 100644
--- a/.project
+++ b/.project
@@ -13,6 +13,10 @@
 					<key>LaunchConfigHandle</key>
 					<value>&lt;project&gt;/.externalToolBuilders/mvnw clean generate-sources.launch</value>
 				</dictionary>
+				<dictionary>
+					<key>incclean</key>
+					<value>true</value>
+				</dictionary>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
diff --git a/src/main/java/at/ac/uibk/gitsearch/config/LoggingConfiguration.java b/src/main/java/at/ac/uibk/gitsearch/config/LoggingConfiguration.java
index f2f72771e4491a00bdc431396740b43847a1875e..73612f56e3bfe20a568a4499e681a2cfeb72dfee 100644
--- a/src/main/java/at/ac/uibk/gitsearch/config/LoggingConfiguration.java
+++ b/src/main/java/at/ac/uibk/gitsearch/config/LoggingConfiguration.java
@@ -55,10 +55,12 @@ public class LoggingConfiguration {
         
         // disabling some nasty debug logging
         context.getLogger("io.netty.util.internal.PlatformDependent0").setLevel(Level.INFO);
+        context.getLogger("javax.management.mbeanserver").setLevel(Level.INFO);
         context.getLogger("org.glassfish.jersey.client.ClientExecutorProvidersConfigurator").setLevel(Level.INFO);
         context.getLogger("org.springframework.boot.liquibase.SpringPackageScanClassResolver").setLevel(Level.INFO); // zu spät hier :-(
         context.getLogger("org.springframework.boot.liquibase.LiquibaseServiceLocatorApplicationListener").setLevel(Level.INFO);
         context.getLogger("org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener").setLevel(Level.INFO);
         context.getLogger("io.netty").setLevel(Level.INFO);
+        context.getLogger("org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter").setLevel(Level.DEBUG);
     }
 }
diff --git a/src/main/java/at/ac/uibk/gitsearch/config/SecurityConfiguration.java b/src/main/java/at/ac/uibk/gitsearch/config/SecurityConfiguration.java
index 0fd01c3dafa7f3ee20e15751e6fb14e4805ff8da..255fe72fe0760130af0085097286be22c56d617e 100644
--- a/src/main/java/at/ac/uibk/gitsearch/config/SecurityConfiguration.java
+++ b/src/main/java/at/ac/uibk/gitsearch/config/SecurityConfiguration.java
@@ -4,7 +4,9 @@ import static org.springframework.http.MediaType.APPLICATION_FORM_URLENCODED_VAL
 
 import java.net.URI;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 
@@ -47,6 +49,7 @@ import org.springframework.security.oauth2.core.OAuth2TokenValidator;
 import org.springframework.security.oauth2.core.endpoint.OAuth2AuthorizationExchange;
 import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames;
 import org.springframework.security.oauth2.core.endpoint.PkceParameterNames;
+import org.springframework.security.oauth2.core.oidc.OidcUserInfo;
 import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser;
 import org.springframework.security.oauth2.core.oidc.user.OidcUser;
 import org.springframework.security.oauth2.jwt.Jwt;
@@ -402,9 +405,13 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
 	        	userService.createUser(u);
 	        }
 
-			
+//	       oidcUser.getUserInfo().getClaims().put(TokenProvider.GITLAB_ACCESS_TOKEN, userRequest.getAccessToken());
+	       Map<String, Object> claims = new HashMap<>( oidcUser.getUserInfo().getClaims());
+	       claims.put(TokenProvider.GITLAB_ACCESS_TOKEN, userRequest.getAccessToken().getTokenValue());
+	       claims.put(TokenProvider.GITLAB_ACCESS_ISSUER, userRequest.getClientRegistration().getRegistrationId());
+	       OidcUserInfo userInfo = new OidcUserInfo(claims);
 	           
-           oidcUser = new DefaultOidcUser(mappedAuthorities, oidcUser.getIdToken(), oidcUser.getUserInfo());
+           oidcUser = new DefaultOidcUser(mappedAuthorities, oidcUser.getIdToken(), userInfo);
 
            return oidcUser;
        };
diff --git a/src/main/java/at/ac/uibk/gitsearch/repository/gitlab/GitLabRepository.java b/src/main/java/at/ac/uibk/gitsearch/repository/gitlab/GitLabRepository.java
index f637b4b0c9a03b03967deb1e47945d68eac34ca2..00a593cc4de69f61b927ff80c2b4b6ae8178f893 100644
--- a/src/main/java/at/ac/uibk/gitsearch/repository/gitlab/GitLabRepository.java
+++ b/src/main/java/at/ac/uibk/gitsearch/repository/gitlab/GitLabRepository.java
@@ -31,14 +31,9 @@ public class GitLabRepository {
 		GitLabApi gitLabApi = null;
 		if(isPresent) {
 			String idToken = accessTokenO.get();
-			final Optional<String> gitLabAccessIssuer = tokenProvider.getGitLabAccessIssuer();
-			if(! gitLabAccessIssuer.isPresent()) {
-				log.warn("accessToken defined, but no gitlabAccess Issuer found?");
-			} else {
-
-	         gitLabApi = new GitLabApi(gitLabAccessIssuer.get(), TokenType.OAUTH2_ACCESS, idToken);
-
-	        }
+	         gitLabApi = new GitLabApi(applicationProperties.getGitLab().getUrl(), TokenType.OAUTH2_ACCESS, idToken);
+		} else {
+	         gitLabApi = new GitLabApi(applicationProperties.getGitLab().getUrl(), TokenType.PRIVATE, applicationProperties.getGitLab().getGeneralAccessToken());
 		}
 		return gitLabApi;
 	}
diff --git a/src/main/java/at/ac/uibk/gitsearch/security/jwt/TokenProvider.java b/src/main/java/at/ac/uibk/gitsearch/security/jwt/TokenProvider.java
index a22f0e4edde88d77aca1e1df1b75f429e575328d..8f2e37b6392db1ee2633abb58a69f6531a90d6af 100644
--- a/src/main/java/at/ac/uibk/gitsearch/security/jwt/TokenProvider.java
+++ b/src/main/java/at/ac/uibk/gitsearch/security/jwt/TokenProvider.java
@@ -14,6 +14,7 @@ import javax.annotation.PostConstruct;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.GrantedAuthority;
@@ -21,9 +22,11 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.context.SecurityContext;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.security.core.userdetails.User;
+import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser;
 import org.springframework.stereotype.Component;
 import org.springframework.util.StringUtils;
 
+import at.ac.uibk.gitsearch.config.ApplicationProperties;
 import io.github.jhipster.config.JHipsterProperties;
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.JwtBuilder;
@@ -87,10 +90,14 @@ public class TokenProvider {
 
     private long tokenValidityInMillisecondsForRememberMe;
 
+	@Autowired
     private final JHipsterProperties jHipsterProperties;
+	@Autowired
+	private final ApplicationProperties applicationProperties;
 
-    public TokenProvider(JHipsterProperties jHipsterProperties) {
+    public TokenProvider(JHipsterProperties jHipsterProperties, ApplicationProperties applicationProperties) {
         this.jHipsterProperties = jHipsterProperties;
+        this.applicationProperties = applicationProperties;
     }
 
     @PostConstruct
@@ -144,14 +151,18 @@ public class TokenProvider {
             .setSubject(authentication.getName())
             .claim(AUTHORITIES_KEY, authorities);
 		// copy from preToken
-		final Object userDetails = authentication.getDetails();
 		String authenticationToken = null;
 		String authenticationIssuer = null;
-		if (userDetails instanceof Map<?,?>) {
+		if (authentication.getDetails() instanceof Map) {
 			@SuppressWarnings("unchecked")
-			Map<String, String> userDetailsMap = (Map<String, String>) userDetails;
-			authenticationToken = userDetailsMap.get(GITLAB_ACCESS_TOKEN);
-			authenticationIssuer = userDetailsMap.get(GITLAB_ACCESS_ISSUER);
+			Map<String, String> details = (Map) authentication.getDetails();
+			authenticationToken = details.get(GITLAB_ACCESS_TOKEN);
+			authenticationIssuer = details.get(GITLAB_ACCESS_ISSUER);
+		}
+		if (authentication.getPrincipal() instanceof DefaultOidcUser) {
+			DefaultOidcUser oidcInfo = (DefaultOidcUser) authentication.getPrincipal();
+			authenticationToken = oidcInfo.getClaimAsString(GITLAB_ACCESS_TOKEN);
+			authenticationIssuer = oidcInfo.getClaimAsString(GITLAB_ACCESS_ISSUER);
 		}
 		
 		if (authenticationToken!=null) {
@@ -256,7 +267,7 @@ public class TokenProvider {
     	if(accessToken.isPresent()) {
         	final Optional<String> accessIssuer = getGitLabAccessIssuer();
     		if(accessIssuer.isPresent()) {
-    			return Optional.of(new GitLabAccessInfo(accessToken.get(), accessIssuer.get(), getCurrentPrincipal()) );
+    			return Optional.of(new GitLabAccessInfo(accessToken.get(), applicationProperties.getGitLab().getUrl(), getCurrentPrincipal()) );
     		}
     	}
     	return Optional.empty();
diff --git a/src/main/java/at/ac/uibk/gitsearch/service/GitlabService.java b/src/main/java/at/ac/uibk/gitsearch/service/GitlabService.java
index 8af78b28425b35a2d42e0062a1d74279279232d2..efe0af09a277b9fcc099f22a9d31ebc9bccd990a 100644
--- a/src/main/java/at/ac/uibk/gitsearch/service/GitlabService.java
+++ b/src/main/java/at/ac/uibk/gitsearch/service/GitlabService.java
@@ -4,24 +4,14 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.PipedInputStream;
 import java.io.PipedOutputStream;
-import java.time.Duration;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
 import java.util.Optional;
-import java.util.UUID;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 import java.util.zip.ZipOutputStream;
 
-import org.checkerframework.checker.nullness.qual.Nullable;
-import org.codeability.sharing.plugins.api.ShoppingBasket;
-import org.codeability.sharing.plugins.api.ShoppingBasket.ExerciseInfo;
-import org.codeability.sharing.plugins.api.ShoppingBasket.UserInfo;
 import org.gitlab4j.api.GitLabApi;
 import org.gitlab4j.api.GitLabApiException;
 import org.gitlab4j.api.ProjectApi;
-import org.gitlab4j.api.RepositoryApi;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,13 +19,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.StreamUtils;
 import org.springframework.util.StringUtils;
 
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
-
 import at.ac.uibk.gitsearch.repository.gitlab.GitLabRepository;
-import at.ac.uibk.gitsearch.security.jwt.TokenProvider.GitLabAccessInfo;
-import at.ac.uibk.gitsearch.service.dto.SearchResultDTO;
 
 /**
  * Service for exercise/course search results
@@ -44,22 +28,14 @@ import at.ac.uibk.gitsearch.service.dto.SearchResultDTO;
 @Service
 public class GitlabService {
 	
-	@Autowired
-	private PluginManagementService pluginManagementService;
 	@Autowired
 	private GitLabRepository gitLabRepository;
 	
-	
-		
-		
-
-	
-
 	private final Logger log = LoggerFactory.getLogger(ShoppingBasketService.class);
 
 
     public Boolean repositoryExists(String projectID) {
-        final GitLabApi gitLabApi = gitLabRepository.getGitLabApi(Optional.empty());
+        final GitLabApi gitLabApi = gitLabRepository.getGitLabApi();
 		final ProjectApi gitLabProjectApi = gitLabApi.getProjectApi();
 		try{
 			return gitLabProjectApi.getProject(projectID) != null;}
diff --git a/src/main/webapp/app/search/search.component.ts b/src/main/webapp/app/search/search.component.ts
index 9e7407b6a2d1f1951ec077e0c2f65a800419b801..65502041d93b5f8903e5b665777f20e6d9de5236 100644
--- a/src/main/webapp/app/search/search.component.ts
+++ b/src/main/webapp/app/search/search.component.ts
@@ -30,6 +30,7 @@ export class SearchComponent implements OnInit {
     searchInput.page = 0;
     this.searchInput = searchInput;
     this.results = [];
+    this.hitCount = 0;
     this.search();
   }
 
diff --git a/src/main/webapp/app/search/service/search-service.ts b/src/main/webapp/app/search/service/search-service.ts
index 096425a46930084f2e65d9b7240781bc1869559e..64719cff3cbd53c344702dba2f22dec85c87260b 100644
--- a/src/main/webapp/app/search/service/search-service.ts
+++ b/src/main/webapp/app/search/service/search-service.ts
@@ -40,7 +40,7 @@ export class SearchService {
   }
 
   downloadFile(projectID: string): Observable<Object> {
-    return this.http.post(SERVER_API_URL + 'download/${projectID}', {
+    return this.http.post(SERVER_API_URL + 'download/' + projectID, {
       observe: 'response',
       responseType: 'blob',
     });
diff --git a/src/main/webapp/app/shared/login/login.component.html b/src/main/webapp/app/shared/login/login.component.html
index 4fd8e77d08a6f12606c11049919b05b5df766003..a81c8c83d1bd566bc386ac8c16bd7d06f9f6bbec 100644
--- a/src/main/webapp/app/shared/login/login.component.html
+++ b/src/main/webapp/app/shared/login/login.component.html
@@ -39,9 +39,10 @@
             </form>
             <br/>
             <div *ngFor="let config of configs">
-            	<img src="{{'oauth2.'+config.registrationId + '.icon'| translate}}" alt="oAuth2Image"/>
+            	<img src="{{'oauth2.'+config.registrationId + '.icon'| translate}}" alt="oAuth2Image" style="width: 50px;"/>
 	            <button type="submit" class="btn btn-primary"  (click)="loginWithGitLab(config.registrationId)" jhiTranslate="oauth2.{{config.registrationId}}.text">Login With GitLab</button>
 			</div>
+			<!-- 
             <div class="mt-3 alert alert-warning">
                 <a class="alert-link" (click)="requestResetPassword()" jhiTranslate="login.password.forgot">Did you forget your password?</a>
             </div>
@@ -50,6 +51,7 @@
                 <span jhiTranslate="global.messages.info.register.noaccount">You don't have an account yet?</span>
                 <a class="alert-link" (click)="register()" jhiTranslate="global.messages.info.register.link">Register a new account</a>
             </div>
+             -->
         </div>
     </div>
 </div>
diff --git a/src/main/webapp/app/shared/model/exercise.model.ts b/src/main/webapp/app/shared/model/exercise.model.ts
index 5a54565fd2419a3d6f138d4d44941e6578bd3edf..d4b781889fdfd2138a1833eff5b81ef5b92ab4b7 100644
--- a/src/main/webapp/app/shared/model/exercise.model.ts
+++ b/src/main/webapp/app/shared/model/exercise.model.ts
@@ -56,7 +56,7 @@ export interface Exercise {
   lastUpdate: string;
   originalResult: SearchResultDTO;
 
-  //thesis
+  // thesis
   views: number;
   downloads: number;
 }
diff --git a/src/main/webapp/app/teaserContent/teaserContent.component.html b/src/main/webapp/app/teaserContent/teaserContent.component.html
index bc3c3d65adf969c3ffe926fe752efdecc8554494..8ae15560c830bbb6dae251ebe0c60c696309bf4b 100644
--- a/src/main/webapp/app/teaserContent/teaserContent.component.html
+++ b/src/main/webapp/app/teaserContent/teaserContent.component.html
@@ -1,21 +1,21 @@
 
 <div class="row" style="width: 80%;margin-left: auto; margin-right: auto;">
 	<div class="col-sm-3">
-	  <p style="padding-left: 30px;"><strong>Keywords</strong></p>
+	  <p style="padding-left: 30px;"><strong jhiTranslate="teaser.headings.keywords">Keywords</strong></p>
 	  <ul style="list-style-type: circle;">
                 <li *ngFor="let keyWord of keywords"><a (click)="clickKeyword(keyWord.target)"  style="cursor:pointer;">{{keyWord.target}} ({{keyWord.hitCount}})</a></li>
       </ul>
     </div>
 	<div class="col-sm-3">
-	  <p style="padding-left: 30px;"><strong>Programming Languages</strong></p>
+	  <p style="padding-left: 30px;"><strong jhiTranslate="teaser.headings.programmingLanguages">Programming Languages</strong></p>
 	  <ul style="list-style-type: circle;">
                 <li *ngFor="let programmingLanguage of programmingLanguages"><a (click)="clickLanguage(programmingLanguage.target)"  style="cursor:pointer;">{{programmingLanguage.target}} ({{programmingLanguage.hitCount}})</a></li>
       </ul>
     </div>
 	<div class="col-sm-3">
-	  <p style="padding-left: 30px;"><strong>Contributors</strong></p>
+	  <p style="padding-left: 30px;"><strong jhiTranslate="teaser.headings.contributors">Contributors</strong></p>
 	  <ul style="list-style-type: circle;">
                 <li *ngFor="let contributor of contributors"><a (click)="clickContributor(contributor.target)" style="cursor:pointer;">{{contributor.target}} ({{contributor.hitCount}})</a></li>
       </ul>
     </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/src/main/webapp/i18n/de/teaser.json b/src/main/webapp/i18n/de/teaser.json
new file mode 100644
index 0000000000000000000000000000000000000000..6be7e8cc01729b46f45c050dcd7cedb5434f1894
--- /dev/null
+++ b/src/main/webapp/i18n/de/teaser.json
@@ -0,0 +1,9 @@
+{
+  "teaser": {
+    "headings": {
+      "keywords": "Schlüsselwörter",
+      "programmingLanguages": "Programmiersprachen",
+      "contributors": "Mitwirkende"
+    }
+  }
+}
diff --git a/src/main/webapp/i18n/en/teaser.json b/src/main/webapp/i18n/en/teaser.json
new file mode 100644
index 0000000000000000000000000000000000000000..9fe47b7c9db540c5367efe490e59b0c85da36459
--- /dev/null
+++ b/src/main/webapp/i18n/en/teaser.json
@@ -0,0 +1,9 @@
+{
+  "teaser": {
+    "headings": {
+      "keywords": "Keywords",
+      "programmingLanguages": "Programming languages",
+      "contributors": "Contributors"
+    }
+  }
+}
diff --git a/src/test/java/at/ac/uibk/gitsearch/security/jwt/JWTFilterTest.java b/src/test/java/at/ac/uibk/gitsearch/security/jwt/JWTFilterTest.java
index 15cf8cb3f841afe178fa5dec62e8a6b20a30e7e5..d05bbdf8e4a2dfd1ebb5b49f97d73f15dfeec9dd 100644
--- a/src/test/java/at/ac/uibk/gitsearch/security/jwt/JWTFilterTest.java
+++ b/src/test/java/at/ac/uibk/gitsearch/security/jwt/JWTFilterTest.java
@@ -1,5 +1,6 @@
 package at.ac.uibk.gitsearch.security.jwt;
 
+import at.ac.uibk.gitsearch.config.ApplicationProperties;
 import at.ac.uibk.gitsearch.security.AuthoritiesConstants;
 import io.github.jhipster.config.JHipsterProperties;
 import io.jsonwebtoken.io.Decoders;
@@ -29,7 +30,8 @@ public class JWTFilterTest {
     @BeforeEach
     public void setup() {
         JHipsterProperties jHipsterProperties = new JHipsterProperties();
-        tokenProvider = new TokenProvider(jHipsterProperties);
+        ApplicationProperties appProperties = new ApplicationProperties();
+        tokenProvider = new TokenProvider(jHipsterProperties, appProperties);
         ReflectionTestUtils.setField(tokenProvider, "key",
             Keys.hmacShaKeyFor(Decoders.BASE64
                 .decode("fd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8")));
diff --git a/src/test/java/at/ac/uibk/gitsearch/security/jwt/TokenProviderTest.java b/src/test/java/at/ac/uibk/gitsearch/security/jwt/TokenProviderTest.java
index 54720fa7691414f4bd5a373054cc6129d04a2bd6..8d969ed0b9b6324c3310a085c2c3fe76f4393887 100644
--- a/src/test/java/at/ac/uibk/gitsearch/security/jwt/TokenProviderTest.java
+++ b/src/test/java/at/ac/uibk/gitsearch/security/jwt/TokenProviderTest.java
@@ -1,5 +1,6 @@
 package at.ac.uibk.gitsearch.security.jwt;
 
+import at.ac.uibk.gitsearch.config.ApplicationProperties;
 import at.ac.uibk.gitsearch.security.AuthoritiesConstants;
 
 import java.security.Key;
@@ -30,7 +31,8 @@ public class TokenProviderTest {
 
     @BeforeEach
     public void setup() {
-        tokenProvider = new TokenProvider( new JHipsterProperties());
+        ApplicationProperties appProperties = new ApplicationProperties();
+        tokenProvider = new TokenProvider( new JHipsterProperties(), appProperties);
         key = Keys.hmacShaKeyFor(Decoders.BASE64
             .decode("fd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8"));