diff --git a/.classpath b/.classpath
deleted file mode 100644
index eec61a3dd8967a34b840d241b6ab13df648ca4e9..0000000000000000000000000000000000000000
--- a/.classpath
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
-		<attributes>
-			<attribute name="test" value="true"/>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<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 kind="src" output="target/test-classes" path="src/test/java">
-		<attributes>
-			<attribute name="test" value="true"/>
-			<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="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
-		<attributes>
-			<attribute name="module" value="true"/>
-			<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="src" path="target/generated-sources/annotations">
-		<attributes>
-			<attribute name="optional" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
-		<attributes>
-			<attribute name="optional" value="true"/>
-			<attribute name="test" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" path=".apt_generated">
-		<attributes>
-			<attribute name="optional" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" output="target/test-classes" path=".apt_generated_tests">
-		<attributes>
-			<attribute name="optional" value="true"/>
-			<attribute name="test" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/.project b/.project
index 31dfbfe855f403921d662c1fe76a4ce091ec585d..7236850c5010524fd5d5eac882e07e29fe95702f 100644
--- a/.project
+++ b/.project
@@ -26,12 +26,12 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
diff --git a/src/main/docker/gitsearch.yml b/src/main/docker/gitsearch.yml
index 36d17fbd05d7d2eefa06ed6cca7e254369f25542..7335b9a9613f684d4e4b48c7af9d5b477fa2e5fc 100644
--- a/src/main/docker/gitsearch.yml
+++ b/src/main/docker/gitsearch.yml
@@ -19,6 +19,7 @@ services:
       - SECURITY_OAUTH2_CLIENT_REGISTRATION_GITLABOIDC_CLIENTSECRET=${SECURITY_OAUTH2_CLIENT_REGISTRATION_GITLABOIDC_CLIENTSECRET}
       - APPLICATION_GITLAB_GENERALACCESSTOKEN=${APPLICATION_GITLAB_GENERALACCESSTOKEN}
       - APPLICATION_GITLAB_ADMINACCESSTOKEN=${APPLICATION_GITLAB_ADMINACCESSTOKEN}
+      - CONNECTOR_ARTEMIS_TOKEN=${CONNECTOR_ARTEMIS_TOKEN}
       - gitBranch=${GIT_BRANCH}
       - gitCommitId=${COMMIT_ID}
       - gitCommitDate=${COMMIT_DATE}
diff --git a/src/main/resources/config/application-prod.yml b/src/main/resources/config/application-prod.yml
index 3a70a284551bb59835838e8cb65fe9f8f46cee20..44930fcce5203e1bb66a27551c986952bbca07e5 100644
--- a/src/main/resources/config/application-prod.yml
+++ b/src/main/resources/config/application-prod.yml
@@ -150,7 +150,7 @@ jhipster:
 application:
   registeredConnectors:
     - url: 'https://artemis.codeability.uibk.ac.at/api/sharing/config'
-      accessToken: 'notYet'
+      accessToken: ${CONNECTOR_ARTEMIS_TOKEN}
   registeredConnectorsCallBackURL: https://search.sharing-codeability.uibk.ac.at//api
   installationName: Sharing Plattform
   #  applicationName: Sharing Plattform
diff --git a/src/main/resources/config/application-staging.yml b/src/main/resources/config/application-staging.yml
index 400cdec6009e8578dee39cc688fe4ca3e878db20..f7799298722f2ce1dc52815efe11725eddb1d5f8 100644
--- a/src/main/resources/config/application-staging.yml
+++ b/src/main/resources/config/application-staging.yml
@@ -145,7 +145,7 @@ jhipster:
 application:
   registeredConnectors:
     - url: 'https://artemis.codeability-austria.uibk.ac.at/api/sharing/config'
-      accessToken: 'notYet'
+      accessToken: ${CONNECTOR_ARTEMIS_TOKEN}
   registeredConnectorsCallBackURL: https://dev-exchange.codeability-austria.uibk.ac.at/api
   installationName: Sharing Plattform (Staging)
   gitlab:
diff --git a/src/main/webapp/app/exercise/exercise-details/exercise-details.component.html b/src/main/webapp/app/exercise/exercise-details/exercise-details.component.html
index fac0ca9a644cd8e6da4da0dbaa57c23035d33bca..aa072d5521766054e13a99347aaaae169488478f 100644
--- a/src/main/webapp/app/exercise/exercise-details/exercise-details.component.html
+++ b/src/main/webapp/app/exercise/exercise-details/exercise-details.component.html
@@ -30,8 +30,8 @@
 
                 <!-- modal rating-->
                 <div *ngIf="exercise.rating" class="positionRating">
-                  <div style="float: left">
-                    <p class="card-text" jhiTranslate="exercise.details.rating"></p>
+                  <div [ngbTooltip]="helpForRating" style="float: left">
+                    <p class="card-text" jhiTranslate="exercise.details.accuracy"></p>
                   </div>
                   <div class="star-container">
                     <span
@@ -41,6 +41,7 @@
                     >
                     </span>
                   </div>
+                  <ng-template #helpForRating> {{ 'exercise.details.rating' | translate }} </ng-template>
                 </div>
                 <!-- modal rating end-->
 
@@ -100,7 +101,7 @@
 
                 <div *ngIf="exercise.views" class="positionRating">
                   <div style="float: left">
-                    <div>
+                    <div [ngbTooltip]="helpForViews">
                       <fa-icon icon="eye"></fa-icon>
                     </div>
                   </div>
@@ -109,11 +110,12 @@
                       {{ exercise.views }}
                     </span>
                   </div>
+                  <ng-template #helpForViews> {{ 'exercise.details.views' | translate }}</ng-template>
                 </div>
                 <!-- modal views end-->
 
                 <div *ngIf="exercise.downloads >= 0" class="positionRating">
-                  <div style="float: left">
+                  <div [ngbTooltip]="helpForDownloads" style="float: left">
                     <fa-icon icon="download"></fa-icon>
                   </div>
                   <div class="star-container">
@@ -121,11 +123,12 @@
                       {{ exercise.downloads }}
                     </span>
                   </div>
+                  <ng-template #helpForDownloads> {{ 'exercise.details.downloads' | translate }}</ng-template>
                 </div>
                 <!-- modal views end-->
 
                 <div *ngIf="exercise.numberOfWatchlistEntries >= 0" class="positionRating">
-                  <div style="float: left">
+                  <div [ngbTooltip]="helpForWatchlists" style="float: left">
                     <fa-icon icon="star"></fa-icon>
                   </div>
                   <div class="star-container">
@@ -133,6 +136,7 @@
                       {{ exercise.numberOfWatchlistEntries }}
                     </span>
                   </div>
+                  <ng-template #helpForWatchlists> {{ 'exercise.details.watchlists' | translate }}</ng-template>
                 </div>
 
                 <!-- modal bookmark-->
@@ -155,7 +159,7 @@
                 <!-- modal bookmark end-->
 
                 <div *ngIf="exercise.originalResult.file.parentId" style="float: left; width: 100%; padding-top: 15px; margin-bottom: 25px">
-                  <ng-template #helpToParent data-container="body"> {{ 'exercise.help.toParent' | translate }}</ng-template>
+                  <ng-template #helpToParent data-container="body"> {{ 'exercise.help.toParent' | translate }} </ng-template>
                   <fa-icon
                     style="padding: 5px 0px 0px 5px; float: left"
                     [ngbTooltip]="helpToParent"
@@ -200,49 +204,41 @@
               <div class="col-12">
                 <p style="text-align: left; margin-top: 20px"><strong jhiTranslate="exercise.export.export"></strong></p>
                 <hr />
-                <table>
-                  <tr>
-                    <td>
-                      <a
-                        class="btn btn-outline-secondary"
-                        role="button"
-                        aria-pressed="true"
-                        style="float: left; margin-right: 5px; margin-top: 5px"
-                        (click)="download()"
-                        jhiTranslate="exercise.export.download"
-                      ></a>
-                    </td>
-                    <td style="vertical-align: middle">
-                      <input
-                        type="checkbox"
-                        [checked]="downloadWithChildren"
-                        (change)="toggleWithChildren()"
-                        value=""
-                        value=""
-                        id="withChildren"
-                      />
-                      <label class="form-check-label" for="withChildren" jhiTranslate="exercise.details.withChildren"></label>
-                    </td>
-                  </tr>
-                </table>
-                <a
-                  *ngFor="let action of exercise.originalResult.supportedActions"
-                  class="btn btn-outline-secondary positionAction"
-                  role="button"
-                  aria-pressed="true"
-                  (click)="startAction(action, exercise)"
-                  >{{ action.commandName }}</a
-                >
-                <div [ngbTooltip]="helpComingSoon" placement="bottom">
+              </div>
+              <div class="col-6">
+                <span>
+                  <a
+                    class="btn btn-outline-secondary"
+                    role="button"
+                    aria-pressed="true"
+                    style="float: left; margin-right: 5px; margin-top: 5px"
+                    (click)="download()"
+                    jhiTranslate="exercise.export.download"
+                  ></a>
+                  <label style="padding-top: 10px" for="withChildren">
+                    {{ 'exercise.details.withChildren' | translate }}
+                    <input type="checkbox" [hidden]="false" [(ngModel)]="downloadWithChildren" id="withChildren" />
+                  </label>
+                </span>
+              </div>
+              <a
+                *ngFor="let action of exercise.originalResult.supportedActions"
+                class="btn btn-outline-secondary positionAction col-6"
+                role="button"
+                aria-pressed="true"
+                (click)="startAction(action, exercise)"
+                >{{ action.commandName }}</a
+              >
+              <div class="col-6" placement="bottom">
+                <span [ngbTooltip]="helpComingSoon">
                   <button
                     *ngIf="hasChildren()"
                     type="button"
                     class="btn btn-outline-secondary positionAction"
                     jhiTranslate="exercise.export.latex"
-                    title="{{ 'exercise.comingSoon' | translate }}"
                     disabled
                   ></button>
-                </div>
+                </span>
               </div>
             </div>
           </div>
diff --git a/src/main/webapp/app/exercise/exercise-details/exercise-details.component.scss b/src/main/webapp/app/exercise/exercise-details/exercise-details.component.scss
index c4716898079185e897c554ff171a873cdeadbfe7..5bfedc5a2e443877db63785eddd11583adfb4690 100644
--- a/src/main/webapp/app/exercise/exercise-details/exercise-details.component.scss
+++ b/src/main/webapp/app/exercise/exercise-details/exercise-details.component.scss
@@ -73,3 +73,7 @@
   margin-right: 5px;
   margin-top: 5px;
 }
+
+#myModal {
+  overflow-y: scroll;
+}
diff --git a/src/main/webapp/i18n/de/exercise.json b/src/main/webapp/i18n/de/exercise.json
index 7f2372a934896e3a62bf496ee09b0bd26d38bb37..f9d6de9d98efdb1b2f47394292c8bd4bd059630f 100644
--- a/src/main/webapp/i18n/de/exercise.json
+++ b/src/main/webapp/i18n/de/exercise.json
@@ -3,15 +3,17 @@
     "comingSoon": "demnächst verfügbar :-)",
     "details": {
       "details": "Details",
-      "rating": "Trefferqualität",
+      "accuracy": "Trefferübereinstimmung",
+      "rating": "Diese Metrik zeigt wie gut die Suchanfrage mit den gefundenen Treffern übereinstimmt.",
       "bookmark": "Merken",
       "withChildren": "mit Unteraufgaben",
       "hitDetails": "Suchergebnis Details",
       "allExercises": "Alle Aufgaben für diesen Kurs anzeigen",
       "git": "In GitLab öffnen",
       "editOEResource": "In OEResource bearbeiten",
-      "views": "Anzahl der Aufrufe",
-      "downloads": "Anzahl der Downloads",
+      "views": "Anzahl der Aufrufe!",
+      "downloads": "Anzahl der Downloads!",
+      "watchlists": "Anzahl der Merklisten, in welchen diese Resource vorkommt!",
       "readmeNotFound": "# Keine README.md Datei (oder Alternative) gefunden!",
       "toParent": "zum übergeordneten Objekt",
       "like": "Wenn Ihnen diese Aufgabe gefällt, dann klicken Sie auf das Herz!",
diff --git a/src/main/webapp/i18n/en/exercise.json b/src/main/webapp/i18n/en/exercise.json
index d9d77b3dc5e13c780d23cdcad92c9d3c2fa9f9da..bcc3582977f5349d7a865a4d3784553b4b7cfe0e 100644
--- a/src/main/webapp/i18n/en/exercise.json
+++ b/src/main/webapp/i18n/en/exercise.json
@@ -3,15 +3,17 @@
     "comingSoon": "coming soon",
     "details": {
       "details": "Details",
-      "rating": "Hit quality",
+      "accuracy": "Search accuracy",
+      "rating": "This metric shows how well the search term overlaps with the found resources!",
       "bookmark": "Bookmark",
       "withChildren": "with children",
       "hitDetails": "Show hit details",
       "allExercises": "Show all exercises for this course",
       "git": "Open in GitLab",
       "editOEResource": "Edit in OEResource",
-      "views": "Number of views",
-      "downloads": "Number of downloads",
+      "views": "Number of views!",
+      "downloads": "Number of downloads!",
+      "watchlists": "Number of times this resource was saved in a watchlist!",
       "readmeNotFound": "# No README.md (or alternatives) found!",
       "toParent": "to parent object",
       "like": "If you like this exercise, you can click here!",