diff --git a/src/app/app-root/about/about.component.css b/src/app/app-root/about/about.component.css
deleted file mode 100644
index 0b20083ef0b72218404b6f229b29d6b2fad802b0..0000000000000000000000000000000000000000
--- a/src/app/app-root/about/about.component.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.about-frame {
-  margin: 90px;
-}
-
-.status {
-  background-color: lightgrey;
-}
diff --git a/src/app/app-root/about/about.component.html b/src/app/app-root/about/about.component.html
index f0e76db10e0980c4a05f6f3981101daadbc9fb16..a377d40270ca388e8259577f69dd12cb0a1c562e 100644
--- a/src/app/app-root/about/about.component.html
+++ b/src/app/app-root/about/about.component.html
@@ -1,48 +1,46 @@
-<div class="about-frame" fxLayout="row" fxLayoutAlign="center start">
-  <mat-card fxFlex="0 0 500px">
-    <mat-card-title>{{ 'app_title' | customtext:'app_title':cts.updateCount }} - Impressum/Datenschutz</mat-card-title>
+<mat-card fxFlex="0 0 500px">
+  <mat-card-title>{{ 'app_title' | customtext:'app_title':cts.updateCount }} - Impressum/Datenschutz</mat-card-title>
 
-    <!-- - - - - - - - - - - - - - - - - -->
-    <mat-card-content>
-      <p>Das <a href="http://www.iqb.hu-berlin.de" target="_blank">Institut zur Qualitätsentwicklung im Bildungswesen</a>
-        {{ 'app_intro1' | customtext:'app_intro1':cts.updateCount }}</p>
+  <!-- - - - - - - - - - - - - - - - - -->
+  <mat-card-content>
+    <p>Das <a href="http://www.iqb.hu-berlin.de" target="_blank">Institut zur Qualitätsentwicklung im Bildungswesen</a>
+      {{ 'app_intro1' | customtext:'app_intro1':cts.updateCount }}</p>
 
-      <p>Die mit diesem System erhobenen Daten enthalten grundsätzlich keinen direkten
-        Personenbezug. Es werden z. B. nie Namen gespeichert. Um Auskünfte zu einer bestimmten Befragung bzw. Studie
-        zu erhalten, wenden Sie sich bitte an das <a href="mailto:mechtel@iqb.hu-berlin.de">
-          IQB</a>. Wir benötigen dazu den ungefähren Zeitraum und das Bundesland, in dem die Befragung bzw. Studie
-          durchgeführt wurde.</p>
+    <p>Die mit diesem System erhobenen Daten enthalten grundsätzlich keinen direkten
+      Personenbezug. Es werden z. B. nie Namen gespeichert. Um Auskünfte zu einer bestimmten Befragung bzw. Studie
+      zu erhalten, wenden Sie sich bitte an das <a href="mailto:mechtel@iqb.hu-berlin.de">
+        IQB</a>. Wir benötigen dazu den ungefähren Zeitraum und das Bundesland, in dem die Befragung bzw. Studie
+        durchgeführt wurde.</p>
 
-      <ul>
-        <li>Programmname: {{ appName }}</li>
-        <li>Programmversion: {{ appVersion }}</li>
-        <li>Copyright: {{ appPublisher }}</li>
-      </ul>
+    <ul>
+      <li>Programmname: {{ appName }}</li>
+      <li>Programmversion: {{ appVersion }}</li>
+      <li>Copyright: {{ appPublisher }}</li>
+    </ul>
 
-      <p>
-          <em>Postanschrift:</em><br/>
-          Humboldt-Universität zu Berlin<br/>
-          Institut zur Qualitätsentwicklung im Bildungswesen<br/>
-          Unter den Linden 6<br/>
-          10099 Berlin</p>
-      <p>
-          <em>Sitz:</em><br/>
-          Luisenstr. 56<br/>
-          10117 Berlin<br/>
-          Tel: +49 [30] 2093 - 46500 (Zentrale)<br/>
-          Fax: +49 [30] 2093 - 46599<br/>
-          E-Mail: <a href="mailto:iqboffice@iqb.hu-berlin.de">iqboffice@iqb.hu-berlin.de</a>
-      </p>
-      <p>
-          <em>Name und Anschrift der Datenschutzbeauftragten</em><br/>
-          Frau Gesine Hoffmann-Holland<br/>
-          Tel: +49 (30) 2093-2591<br/>
-          E-Mail: datenschutz@uv.hu-berlin.de<br/>
-          <a href="http://www.hu-berlin.de/de/datenschutz" target="_blank">www.hu-berlin.de/de/datenschutz</a>
-      </p>
-    </mat-card-content>
-    <mat-card-actions>
-      <button (click)="goBack()" mat-raised-button color="primary"><i class="material-icons">arrow_back</i> zurück zur Startseite</button>
-    </mat-card-actions>
-  </mat-card>
-</div>
+    <p>
+        <em>Postanschrift:</em><br/>
+        Humboldt-Universität zu Berlin<br/>
+        Institut zur Qualitätsentwicklung im Bildungswesen<br/>
+        Unter den Linden 6<br/>
+        10099 Berlin</p>
+    <p>
+        <em>Sitz:</em><br/>
+        Luisenstr. 56<br/>
+        10117 Berlin<br/>
+        Tel: +49 [30] 2093 - 46500 (Zentrale)<br/>
+        Fax: +49 [30] 2093 - 46599<br/>
+        E-Mail: <a href="mailto:iqboffice@iqb.hu-berlin.de">iqboffice@iqb.hu-berlin.de</a>
+    </p>
+    <p>
+        <em>Name und Anschrift der Datenschutzbeauftragten</em><br/>
+        Frau Gesine Hoffmann-Holland<br/>
+        Tel: +49 (30) 2093-2591<br/>
+        E-Mail: datenschutz@uv.hu-berlin.de<br/>
+        <a href="http://www.hu-berlin.de/de/datenschutz" target="_blank">www.hu-berlin.de/de/datenschutz</a>
+    </p>
+  </mat-card-content>
+  <mat-card-actions>
+    <button [routerLink]="['/']" mat-raised-button color="primary"><i class="material-icons">arrow_back</i> zurück zur Startseite</button>
+  </mat-card-actions>
+</mat-card>
diff --git a/src/app/app-root/about/about.component.ts b/src/app/app-root/about/about.component.ts
index 74692b86e651e268d85303905aa4df1834ec50ab..ae714b6efa6a00f83ccb22e7cc3a2bf390cc828a 100644
--- a/src/app/app-root/about/about.component.ts
+++ b/src/app/app-root/about/about.component.ts
@@ -1,10 +1,9 @@
 import { Component, Inject } from '@angular/core';
-import { Router } from '@angular/router';
 import { CustomtextService } from 'iqb-components';
 
 @Component({
   templateUrl: './about.component.html',
-  styleUrls: ['./about.component.css']
+  styles: ['mat-card {background-color: lightgray;}']
 })
 export class AboutComponent {
 
@@ -12,11 +11,7 @@ export class AboutComponent {
     @Inject('APP_NAME') public appName: string,
     @Inject('APP_PUBLISHER') public appPublisher: string,
     @Inject('APP_VERSION') public appVersion: string,
-    private router: Router,
     public cts: CustomtextService
   ) { }
 
-  goBack() {
-    this.router.navigate(['/']);
-  }
 }
diff --git a/src/app/app-root/app-root.component.css b/src/app/app-root/app-root.component.css
deleted file mode 100644
index fd8e4a935a1eb5f4f5d09beb5645243a4cbb2d92..0000000000000000000000000000000000000000
--- a/src/app/app-root/app-root.component.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.root-frame {
-  padding: 80px;
-}
-
-.root-frame mat-card {
-  margin: 10px;
-}
diff --git a/src/app/app-root/app-root.component.html b/src/app/app-root/app-root.component.html
index 6a7b0607a68da1f18734163ca081c41ff671d1b0..4b415943a4a4e48ea4203fc25fc503936c4d9864 100644
--- a/src/app/app-root/app-root.component.html
+++ b/src/app/app-root/app-root.component.html
@@ -1,46 +1,3 @@
 <div class="root-frame" fxLayout="row wrap" fxLayoutAlign="center stretch">
-
-  <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->
-  <mat-card fxFlex="0 0 400px" fxLayout="column" *ngIf="showLoginForm">
-    <!-- - - - - - - - - - - - - - - - - -->
-    <form [formGroup]="loginForm" (ngSubmit)="login()">
-      <mat-card-title>Anmelden</mat-card-title>
-      <mat-card-content fxLayout="column">
-        <mat-form-field>
-          <input matInput formControlName="name" placeholder="Anmeldename" (keyup.enter)="pw.focus()">
-        </mat-form-field>
-        <mat-form-field>
-          <input matInput #pw type="password" formControlName="pw" placeholder="Kennwort" (keyup.enter)="login()">
-        </mat-form-field>
-      </mat-card-content>
-      <mat-card-actions>
-        <button mat-raised-button type="submit" [disabled]="loginForm.invalid" color="primary">Weiter</button>
-      </mat-card-actions>
-    </form>
-  </mat-card>
-
-
-    <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->
-    <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->
-  <mat-card fxFlex="0 2 400px" fxLayout="column" class="status">
-    <mat-card-title>{{ 'app_title' | customtext:'app_title':cts.updateCount }}</mat-card-title>
-
-    <!-- - - - - - - - - - - - - - - - - -->
-    <mat-card-content>
-      <div *ngIf="showLoginForm">
-        <p>Das <a href="http://www.iqb.hu-berlin.de" target="_blank">Institut zur Qualitätsentwicklung im Bildungswesen</a>
-          {{ 'app_intro1' | customtext:'app_intro1':cts.updateCount }}</p>
-
-        <p>Die mit diesem System erhobenen Daten enthalten grundsätzlich keinen direkten
-          Personenbezug. Es werden z. B. nie Namen gespeichert. Um Auskünfte zu einer bestimmten Befragung bzw. Studie
-          zu erhalten, wenden Sie sich bitte an das <a href="mailto:mechtel@iqb.hu-berlin.de">
-            IQB</a>. Wir benötigen dazu den ungefähren Zeitraum und das Bundesland, in dem die Befragung bzw. Studie
-          durchgeführt wurde.</p>
-      </div>
-    </mat-card-content>
-    <mat-card-actions>
-      <button mat-raised-button color="foreground" [routerLink]="['/about']">Impressum/Datenschutz</button>
-      <button mat-raised-button color="foreground" [routerLink]="['/check']">System-Check</button>
-    </mat-card-actions>
-  </mat-card>
+  <router-outlet></router-outlet>
 </div>
diff --git a/src/app/app-root/app-root.component.spec.ts b/src/app/app-root/app-root.component.spec.ts
index 95001447b8ebfe0453a5b86a3f4522094d893d3c..79d00922c309ed491417b3b2f8ed808f1bd47b69 100644
--- a/src/app/app-root/app-root.component.spec.ts
+++ b/src/app/app-root/app-root.component.spec.ts
@@ -1,12 +1,6 @@
 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 
 import { AppRootComponent } from './app-root.component';
-import {HttpClientModule} from "@angular/common/http";
-import {ReactiveFormsModule} from "@angular/forms";
-import {MatDialogModule} from "@angular/material/dialog";
-import {AppRoutingModule} from "../app-routing.module";
-import {IqbComponentsModule} from "iqb-components";
-import {BackendService} from "../backend.service";
 
 describe('AppRootComponent', () => {
   let component: AppRootComponent;
@@ -15,16 +9,6 @@ describe('AppRootComponent', () => {
   beforeEach(async(() => {
     TestBed.configureTestingModule({
       declarations: [ AppRootComponent ],
-      imports: [
-        HttpClientModule,
-        ReactiveFormsModule,
-        MatDialogModule,
-        AppRoutingModule,
-        IqbComponentsModule
-      ],
-      providers: [
-        BackendService
-      ]
     })
     .compileComponents();
   }));
diff --git a/src/app/app-root/app-root.component.ts b/src/app/app-root/app-root.component.ts
index 857635657a169989c811ad16d24a036c4759c1ca..79aab753022737e8432999d3789536265578ea10 100644
--- a/src/app/app-root/app-root.component.ts
+++ b/src/app/app-root/app-root.component.ts
@@ -6,10 +6,9 @@ import {CustomtextService} from "iqb-components";
 @Component({
   selector: 'app-app-root',
   templateUrl: './app-root.component.html',
-  styleUrls: ['./app-root.component.css']
+  styles: ['.root-frame {padding: 80px;}']
 })
 export class AppRootComponent implements OnInit, OnDestroy {
-  showLoginForm = true;
   loginForm = new FormGroup({
     name: new FormControl('', [Validators.required, Validators.minLength(3)]),
     pw: new FormControl('')
diff --git a/src/app/app-root/app-status/app-status.component.css b/src/app/app-root/app-status/app-status.component.css
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/app/app-root/app-status/app-status.component.html b/src/app/app-root/app-status/app-status.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..a36e38a57bf784c8bd6e7d85965d1f3ed8d1e9fd
--- /dev/null
+++ b/src/app/app-root/app-status/app-status.component.html
@@ -0,0 +1 @@
+<p>app-status works!</p>
diff --git a/src/app/app-root/app-status/app-status.component.spec.ts b/src/app/app-root/app-status/app-status.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..f97e369e643742c4fa5ae32209ddfd724bbf3017
--- /dev/null
+++ b/src/app/app-root/app-status/app-status.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { AppStatusComponent } from './app-status.component';
+
+describe('AppStatusComponent', () => {
+  let component: AppStatusComponent;
+  let fixture: ComponentFixture<AppStatusComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ AppStatusComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(AppStatusComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/src/app/app-root/app-status/app-status.component.ts b/src/app/app-root/app-status/app-status.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..a2c6b53b4d37dd79699ee5c6324905deab15bec4
--- /dev/null
+++ b/src/app/app-root/app-status/app-status.component.ts
@@ -0,0 +1,15 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+  selector: 'app-app-status',
+  templateUrl: './app-status.component.html',
+  styleUrls: ['./app-status.component.css']
+})
+export class AppStatusComponent implements OnInit {
+
+  constructor() { }
+
+  ngOnInit(): void {
+  }
+
+}
diff --git a/src/app/app-root/login/login.component.html b/src/app/app-root/login/login.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..187ae83a9f6b598442e9776ca1775b561e0dc9bc
--- /dev/null
+++ b/src/app/app-root/login/login.component.html
@@ -0,0 +1,41 @@
+<!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->
+<mat-card fxFlex="0 0 400px" fxLayout="column">
+  <!-- - - - - - - - - - - - - - - - - -->
+  <form [formGroup]="loginForm" (ngSubmit)="login()">
+    <mat-card-title>Anmelden</mat-card-title>
+    <mat-card-content fxLayout="column">
+      <mat-form-field>
+        <input matInput formControlName="name" placeholder="Anmeldename" (keyup.enter)="pw.focus()">
+      </mat-form-field>
+      <mat-form-field>
+        <input matInput #pw type="password" formControlName="pw" placeholder="Kennwort" (keyup.enter)="login()">
+      </mat-form-field>
+    </mat-card-content>
+    <mat-card-actions>
+      <button mat-raised-button type="submit" [disabled]="loginForm.invalid" color="primary">Weiter</button>
+    </mat-card-actions>
+  </form>
+</mat-card>
+
+
+<!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->
+<!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -->
+<mat-card fxFlex="0 2 400px" fxLayout="column" class="status-card" *ngIf="! returnTo">
+  <mat-card-title>{{ 'app_title' | customtext:'app_title':cts.updateCount }}</mat-card-title>
+
+  <!-- - - - - - - - - - - - - - - - - -->
+  <mat-card-content>
+    <p>Das <a href="http://www.iqb.hu-berlin.de" target="_blank">Institut zur Qualitätsentwicklung im Bildungswesen</a>
+      {{ 'app_intro1' | customtext:'app_intro1':cts.updateCount }}</p>
+
+    <p>Die mit diesem System erhobenen Daten enthalten grundsätzlich keinen direkten
+      Personenbezug. Es werden z. B. nie Namen gespeichert. Um Auskünfte zu einer bestimmten Befragung bzw. Studie
+      zu erhalten, wenden Sie sich bitte an das <a href="mailto:mechtel@iqb.hu-berlin.de">
+        IQB</a>. Wir benötigen dazu den ungefähren Zeitraum und das Bundesland, in dem die Befragung bzw. Studie
+      durchgeführt wurde.</p>
+  </mat-card-content>
+  <mat-card-actions>
+    <button mat-raised-button color="foreground" [routerLink]="['../about']">Impressum/Datenschutz</button>
+    <button mat-raised-button color="foreground" [routerLink]="['../check-starter']">System-Check</button>
+  </mat-card-actions>
+</mat-card>
diff --git a/src/app/sys-check/start.component.spec.ts b/src/app/app-root/login/login.component.spec.ts
similarity index 57%
rename from src/app/sys-check/start.component.spec.ts
rename to src/app/app-root/login/login.component.spec.ts
index 818d9becdc4246c0980a8d0bab2837dcfd214bb9..64c03ad076d5bdce6b41c3cb06271ca6c115d7c9 100644
--- a/src/app/sys-check/start.component.spec.ts
+++ b/src/app/app-root/login/login.component.spec.ts
@@ -1,20 +1,22 @@
 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 
-import { StartComponent } from './start.component';
+import { LoginComponent } from './login.component';
 import {HttpClientModule} from "@angular/common/http";
-import {BackendService} from "./backend.service";
-import {AppRoutingModule} from "../app-routing.module";
+import {ReactiveFormsModule} from "@angular/forms";
+import {AppRoutingModule} from "../../app-routing.module";
 import {IqbComponentsModule} from "iqb-components";
+import {BackendService} from "../../backend.service";
 
-describe('StartComponent', () => {
-  let component: StartComponent;
-  let fixture: ComponentFixture<StartComponent>;
+describe('LoginComponent', () => {
+  let component: LoginComponent;
+  let fixture: ComponentFixture<LoginComponent>;
 
   beforeEach(async(() => {
     TestBed.configureTestingModule({
-      declarations: [ StartComponent ],
+      declarations: [ LoginComponent ],
       imports: [
         HttpClientModule,
+        ReactiveFormsModule,
         AppRoutingModule,
         IqbComponentsModule
       ],
@@ -26,7 +28,7 @@ describe('StartComponent', () => {
   }));
 
   beforeEach(() => {
-    fixture = TestBed.createComponent(StartComponent);
+    fixture = TestBed.createComponent(LoginComponent);
     component = fixture.componentInstance;
     fixture.detectChanges();
   });
diff --git a/src/app/app-root/login/login.component.ts b/src/app/app-root/login/login.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..afa6861b39345e2ad4b45c163a2eb4326aedc589
--- /dev/null
+++ b/src/app/app-root/login/login.component.ts
@@ -0,0 +1,57 @@
+import {Component, OnDestroy, OnInit} from '@angular/core';
+import {FormControl, FormGroup, Validators} from "@angular/forms";
+import {MainDataService} from "../../maindata.service";
+import {CustomtextService} from "iqb-components";
+import {ActivatedRoute, Router} from "@angular/router";
+import {Subscription} from "rxjs";
+
+@Component({
+  templateUrl: './login.component.html',
+  styles: [
+    'mat-card {margin: 10px;}',
+    'mat-card:last-of-type {background-color: lightgray;}',
+  ]
+})
+
+export class LoginComponent  implements OnInit, OnDestroy {
+  private routingSubscription: Subscription = null;
+  static oldLoginName = '';
+  returnTo = '';
+
+  loginForm = new FormGroup({
+    name: new FormControl(LoginComponent.oldLoginName, [Validators.required, Validators.minLength(3)]),
+    pw: new FormControl('')
+  });
+
+  constructor(
+    public mds: MainDataService,
+    public cts: CustomtextService,
+    private router: Router,
+    private route: ActivatedRoute
+  ) { }
+
+  ngOnInit(): void {
+    this.routingSubscription = this.route.params.subscribe(params => {
+      this.returnTo = params['returnTo'];
+    })
+  }
+
+  login() {
+    const loginData = this.loginForm.value;
+    LoginComponent.oldLoginName = loginData['name'];
+    this.mds.appError$.next({
+      label: loginData['name'],
+      description: loginData['pw'],
+      category: "FATAL"
+    });
+    if (this.returnTo) {
+      this.router.navigateByUrl(this.returnTo);
+    }
+  }
+
+  ngOnDestroy() {
+    if (this.routingSubscription !== null) {
+      this.routingSubscription.unsubscribe();
+    }
+  }
+}
diff --git a/src/app/app-root/sys-check-starter/sys-check-starter.component.css b/src/app/app-root/sys-check-starter/sys-check-starter.component.css
new file mode 100644
index 0000000000000000000000000000000000000000..db1722e0f7afa49f9d6e436650e5670f67150abf
--- /dev/null
+++ b/src/app/app-root/sys-check-starter/sys-check-starter.component.css
@@ -0,0 +1,15 @@
+.check-title {
+  font-size: 16pt;
+  margin-bottom: 0;
+  height: 24px
+}
+
+.check-description {
+  font-size: 9pt;
+  margin-top: 8px;
+  color: lightgray;
+  height: 24px;
+  margin-bottom: 18px;
+  white-space: normal;
+  line-height: 16px;
+}
diff --git a/src/app/app-root/sys-check-starter/sys-check-starter.component.html b/src/app/app-root/sys-check-starter/sys-check-starter.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..7fbb6c99c90749b433609ddc87a3c02f7fb0b9c7
--- /dev/null
+++ b/src/app/app-root/sys-check-starter/sys-check-starter.component.html
@@ -0,0 +1,33 @@
+<mat-card fxFlex="0 2 500px">
+  <mat-card-title>{{ 'app_title' | customtext:'app_title':cts.updateCount }}: System-Check</mat-card-title>
+  <mat-card-content>
+    <p>Hier können Sie ermitteln, ob das Computersystem, das Sie gerade benutzen, für
+      die hier vorgesehenen Testungen geeignet ist.</p>
+    <p *ngIf="loading">
+      Bitte warten... Konfiguration wird geladen
+    </p>
+    <span *ngIf="!loading">
+      <p *ngIf="checkConfigList.length === 0">
+        Auf diesem Server ist aktuell kein System-Check verfügbar.
+      </p>
+      <p *ngIf="checkConfigList.length > 1">
+        Bitte wählen Sie einen Check aus!
+      </p>
+      <p *ngIf="checkConfigList.length === 1">
+        Bitte klicken Sie auf den Schalter, um den Check zu starten!
+      </p>
+    </span>
+    <div fxLayout="column" fxLayoutGap="10px" *ngIf="checkConfigList?.length > 0">
+      <button mat-raised-button color="primary" (click)="buttonStartCheck(c)"
+              *ngFor="let c of checkConfigList">
+        <div fxLayout="column">
+          <p class="check-title">{{c.label}}</p>
+          <p class="check-description">{{c.description}}</p>
+        </div>
+      </button>
+    </div>
+  </mat-card-content>
+  <mat-card-actions>
+    <button [routerLink]="['/']" mat-raised-button color="primary"><i class="material-icons">arrow_back</i> zurück zur Startseite</button>
+  </mat-card-actions>
+</mat-card>
diff --git a/src/app/app-root/sys-check-starter/sys-check-starter.component.spec.ts b/src/app/app-root/sys-check-starter/sys-check-starter.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e8a145d87a90bee21af1b02c569b145f49ecd026
--- /dev/null
+++ b/src/app/app-root/sys-check-starter/sys-check-starter.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { SysCheckStarterComponent } from './sys-check-starter.component';
+
+describe('SysCheckStarterComponent', () => {
+  let component: SysCheckStarterComponent;
+  let fixture: ComponentFixture<SysCheckStarterComponent>;
+
+  beforeEach(async(() => {
+    TestBed.configureTestingModule({
+      declarations: [ SysCheckStarterComponent ]
+    })
+    .compileComponents();
+  }));
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(SysCheckStarterComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/src/app/app-root/sys-check-starter/sys-check-starter.component.ts b/src/app/app-root/sys-check-starter/sys-check-starter.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..98606e0c8a9974cce91d34a167eec6abba32b58f
--- /dev/null
+++ b/src/app/app-root/sys-check-starter/sys-check-starter.component.ts
@@ -0,0 +1,55 @@
+import {Component, OnInit} from '@angular/core';
+import {BackendService} from "../../backend.service";
+import {Router} from "@angular/router";
+import {MainDataService} from "../../maindata.service";
+import {SysCheckInfo} from "../../app.interfaces";
+import {CustomtextService} from "iqb-components";
+
+@Component({
+  templateUrl: './sys-check-starter.component.html',
+  styleUrls: ['./sys-check-starter.component.css']
+})
+export class SysCheckStarterComponent implements OnInit {
+  checkConfigList: SysCheckInfo[] = [];
+  loading = false;
+
+  constructor(
+    public mds: MainDataService,
+    private bs: BackendService,
+    public cts: CustomtextService,
+    private router: Router
+  ) { }
+
+  ngOnInit() {
+    setTimeout(() => {
+      this.loading = true;
+      this.mds.incrementDelayedProcessesCount();
+      this.bs.getSysCheckInfo().subscribe(myConfigs => {
+        if (myConfigs) {
+          this.checkConfigList = myConfigs;
+        } else {
+          this.checkConfigList = [
+            {
+              workspaceId: "20",
+              name: "UjjUUjj",
+              label: "Machbarkeit 2020",
+              description: "sijdsidjsi"
+            },
+            {
+              workspaceId: "20",
+              name: "Ikkdie",
+              label: "jojojojojojo",
+              description: "sijdsidjsi"
+            }
+          ]
+        }
+        this.loading = false;
+        this.mds.decrementDelayedProcessesCount();
+      });
+    })
+  }
+
+  buttonStartCheck(checkInfo: SysCheckInfo) {
+    this.router.navigate([`/check/${checkInfo.workspaceId}/${checkInfo.name}`]);
+  }
+}
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 68ebdd24e3f1536a8d021a0a527138fa27ddfa07..e18980daeeff6764a16d966eac0870d2559d92e4 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -3,11 +3,21 @@ import { StartComponent } from './start/start.component';
 import { NgModule } from '@angular/core';
 import { Routes, RouterModule } from '@angular/router';
 import {AppRootComponent} from "./app-root/app-root.component";
+import {LoginComponent} from "./app-root/login/login.component";
+import {SysCheckStarterComponent} from "./app-root/sys-check-starter/sys-check-starter.component";
 
 
 const routes: Routes = [
-  {path: '', component: AppRootComponent, pathMatch: 'full'},
-  {path: 'root', component: AppRootComponent},
+  {path: '', redirectTo: 'r', pathMatch: 'full'},
+  {path: 'r', component: AppRootComponent,
+    children: [
+      {path: '', redirectTo: 'login', pathMatch: 'full'},
+      {path: 'login/:returnTo', component: LoginComponent},
+      {path: 'about', component: AboutComponent},
+      {path: 'check-starter', component: SysCheckStarterComponent},
+      {path: '**', component: LoginComponent}
+    ]
+  },
   {path: 'start', component: StartComponent},
   {path: 'about', component: AboutComponent},
   {path: 'check', loadChildren: () => import('./sys-check/sys-check.module').then(m => m.SysCheckModule)},
diff --git a/src/app/app.component.html b/src/app/app.component.html
index 68a8207858b84ec6fe99c27fabe0751d016676b2..5cbd9ed0f6ee314acbfd1abf1b8addb56ad8f39e 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -10,7 +10,7 @@
     <mat-icon>clear</mat-icon>
   </button>
 </div>
-<div class="spinner" *ngIf="mds.showSpinner">
+<div class="spinner" *ngIf="(mds.delayedProcessesCount$ | async) > 0">
   <mat-spinner></mat-spinner>
 </div>
 <router-outlet></router-outlet>
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 272eb09581abf9098a2c1a1afcb909bccd8ac6a0..ccba68728eac9cbb021b5df318ef2743c46d2204 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -9,7 +9,7 @@ import {Subscription} from "rxjs";
 @Component({
   selector: 'tc-root',
   templateUrl: './app.component.html',
-  styleUrls: ['./app.component.scss']
+  // styleUrls: ['./app.component.scss']
 })
 
 
@@ -18,7 +18,7 @@ export class AppComponent implements OnInit, OnDestroy {
   showError = false;
 
   constructor (
-    private mds: MainDataService,
+    public mds: MainDataService,
     private bs: BackendService,
     private cts: CustomtextService
   ) { }
@@ -47,7 +47,6 @@ export class AppComponent implements OnInit, OnDestroy {
         this.showError = true;
       }
     });
-    // give a message to the central message broadcast
 
     window.addEventListener('message', (event: MessageEvent) => {
       const msgData = event.data;
@@ -82,7 +81,7 @@ export class AppComponent implements OnInit, OnDestroy {
           if (personToken) {
             const bookletDbIdStr = AppComponent.getStringFromLocalStorage('bi');
             if (bookletDbIdStr) {
-              bookletDbId = Number(bookletDbIdStr);
+              bookletDbId = Number(bookletDbIdStr); // TODO: not used after assigning?
             }
           }
           const code = AppComponent.getStringFromLocalStorage('c');
diff --git a/src/app/app.interfaces.ts b/src/app/app.interfaces.ts
index 769da7236cc070ca0cbab0a2e20bf763ff05df25..e4e53795da79b68acce8ee6014b35335f7e18ad1 100644
--- a/src/app/app.interfaces.ts
+++ b/src/app/app.interfaces.ts
@@ -66,3 +66,15 @@ export interface AppError {
   description: string;
   category: 'WARNING' | 'FATAL' | 'PROBLEM'
 }
+
+export interface starterData {
+  id: string;
+  label: string
+}
+
+export interface SysCheckInfo {
+  workspaceId: string;
+  name: string;
+  label: string;
+  description: string;
+}
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index d90180b9b904762f4fad623afc3f04bab804197c..8b6ec3e345c9b213243c9e3c71839ba79093814b 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -29,6 +29,9 @@ import {MatToolbarModule} from "@angular/material/toolbar";
 import {MatTooltipModule} from "@angular/material/tooltip";
 import {RouterModule} from "@angular/router";
 import { AppRootComponent } from './app-root/app-root.component';
+import { SysCheckStarterComponent } from './app-root/sys-check-starter/sys-check-starter.component';
+import { LoginComponent } from './app-root/login/login.component';
+import { AppStatusComponent } from './app-root/app-status/app-status.component';
 
 
 
@@ -37,7 +40,10 @@ import { AppRootComponent } from './app-root/app-root.component';
     AppComponent,
     StartComponent,
     AboutComponent,
-    AppRootComponent
+    AppRootComponent,
+    SysCheckStarterComponent,
+    LoginComponent,
+    AppStatusComponent
   ],
   imports: [
     ApplicationModule,
diff --git a/src/app/backend.service.ts b/src/app/backend.service.ts
index 8d9f57b499e10a6be40a224f4b98ed6abb0332b8..833e9d57126467125b4bca5969cbc2b61afee040 100644
--- a/src/app/backend.service.ts
+++ b/src/app/backend.service.ts
@@ -3,7 +3,7 @@ import { Injectable, Inject } from '@angular/core';
 import {HttpClient, HttpParams} from '@angular/common/http';
 import { Observable, of } from 'rxjs';
 import {catchError, map, switchMap} from 'rxjs/operators';
-import {LoginData, BookletStatus, PersonTokenAndTestId, KeyValuePair, SysConfig} from './app.interfaces';
+import {LoginData, BookletStatus, PersonTokenAndTestId, KeyValuePair, SysConfig, SysCheckInfo} from './app.interfaces';
 import {ErrorHandler, ServerError} from 'iqb-components';
 
 // ============================================================================
@@ -70,6 +70,17 @@ export class BackendService {
       }));
   }
 
+  public getSysCheckInfo(): Observable<SysCheckInfo[]> {
+
+    return this.http
+      .get<SysCheckInfo[]>(this.serverUrl + 'sys-checks')
+      .pipe(
+        catchError(() => {
+          const myreturn: SysCheckInfo[] = [];
+          return of(myreturn);
+        })
+      );
+  }
 
   getBookletState(bookletName: string, code = ''): Observable<BookletStatus | ServerError> {
 
diff --git a/src/app/maindata.service.ts b/src/app/maindata.service.ts
index 7a4d376c46a4f656da883d40bf7f4c64f75508a9..f73a6dcf9ac6abafb42cc308556d3497a752bcd6 100644
--- a/src/app/maindata.service.ts
+++ b/src/app/maindata.service.ts
@@ -31,7 +31,7 @@ export class MainDataService {
   public loginData$ = new BehaviorSubject<LoginData>(MainDataService.defaultLoginData);
   public globalErrorMsg$ = new BehaviorSubject<ServerError>(null); // TODO remove globalErrorMsg$
   public appError$ = new BehaviorSubject<AppError>(null);
-  public showSpinner = false;
+  public delayedProcessesCount$ = new BehaviorSubject<number>(0);
 
   // set by app.component.ts
   public postMessage$ = new Subject<MessageEvent>();
@@ -50,6 +50,14 @@ export class MainDataService {
     private cts: CustomtextService
   ) {}
 
+  incrementDelayedProcessesCount() {
+    this.delayedProcessesCount$.next(this.delayedProcessesCount$.getValue() + 1);
+  }
+
+  decrementDelayedProcessesCount() {
+    this.delayedProcessesCount$.next(this.delayedProcessesCount$.getValue() - 1);
+  }
+
   // ensures consistency
   setNewLoginData(logindata?: LoginData) {
     const myLoginData: LoginData = MainDataService.defaultLoginData;
diff --git a/src/app/sys-check/backend.service.ts b/src/app/sys-check/backend.service.ts
index 861f8ddf76e0f0ebf6b4599ccb3457ebeb728d2c..ced27bc09e2f8668e06697738948d9acbc5121db 100644
--- a/src/app/sys-check/backend.service.ts
+++ b/src/app/sys-check/backend.service.ts
@@ -1,5 +1,4 @@
 import {
-  CheckConfigAbstract,
   CheckConfig,
   NetworkRequestTestResult,
   UnitAndPlayerContainer,
@@ -23,19 +22,6 @@ export class BackendService {
   ) {}
 
 
-  public getCheckConfigs(): Observable<CheckConfigAbstract[]> {
-
-    return this.http
-      .get<CheckConfigAbstract[]>(this.serverUrl + 'sys-checks')
-      .pipe(
-        catchError(() => {
-          const myreturn: CheckConfigAbstract[] = [];
-          return of(myreturn);
-        })
-      );
-  }
-
-
   public getCheckConfigData(workspaceId: number, sysCheckName: string): Observable<CheckConfig> {
 
     return this.http
diff --git a/src/app/sys-check/index.ts b/src/app/sys-check/index.ts
deleted file mode 100644
index d8b21a2c8ea6fe74ef7b00e33a6235bd8e02a01d..0000000000000000000000000000000000000000
--- a/src/app/sys-check/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { StartComponent } from './start.component';
diff --git a/src/app/sys-check/start.component.css b/src/app/sys-check/start.component.css
deleted file mode 100644
index 603396779e9d8d6d9e15900bff48f3e134bd06e3..0000000000000000000000000000000000000000
--- a/src/app/sys-check/start.component.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.check_title {
-    font-size: 16pt;
-    margin-bottom: 0px;
-    height: 24px
-  }
-
-.check_descr {
-    font-size: 9pt;
-    margin-top: 8px;
-    color: lightgray;
-    height: 24px;
-    margin-bottom: 18px;
-    white-space: normal;
-    line-height: 16px;
-  }
-
-.mat-card {
-    margin: 10px
-  }
diff --git a/src/app/sys-check/start.component.html b/src/app/sys-check/start.component.html
deleted file mode 100644
index 4e898166ac35862c8d6fdb811b9143842616ee1f..0000000000000000000000000000000000000000
--- a/src/app/sys-check/start.component.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<div class="page-body">
-  <div fxLayout="row" fxLayoutAlign="center start">
-    <mat-card fxFlex="0 2 500px">
-      <mat-card-title>{{ 'app_title' | customtext:'app_title':cts.updateCount }}: System-Check</mat-card-title>
-      <mat-card-content>
-        <p>Hier können Sie ermitteln, ob das Computersystem, das Sie gerade benutzen, für
-          die hier vorgesehenen Testungen geeignet ist.</p>
-        <p *ngIf="dataLoading">
-          Bitte warten... Konfiguration wird geladen
-        </p>
-        <p *ngIf="!dataLoading && (checkConfigList.length === 0)">
-          Auf diesem Server ist aktuell kein System-Check verfügbar.
-        </p>
-        <p *ngIf="!dataLoading && (checkConfigList.length > 1)">
-          Bitte wählen Sie einen Check aus!
-        </p>
-        <p *ngIf="!dataLoading && (checkConfigList.length === 1)">
-          Bitte klicken Sie auf den Schalter, um den Check zu starten!
-        </p>
-        <div fxLayout="column" fxLayoutGap="10px">
-          <button mat-raised-button color="primary" (click)="buttonStartCheck(c)"
-            *ngFor="let c of checkConfigList">
-            <div fxLayout="column">
-              <p class="check_title">{{c.label}}</p>
-              <p class="check_descr">{{c.description}}</p>
-            </div>
-          </button>
-        </div>
-      </mat-card-content>
-      <mat-card-actions>
-        <button (click)="goBack()" mat-raised-button color="primary"><i class="material-icons">arrow_back</i> zurück zur Startseite</button>
-      </mat-card-actions>
-    </mat-card>
-  </div>
-</div>
diff --git a/src/app/sys-check/start.component.ts b/src/app/sys-check/start.component.ts
deleted file mode 100644
index 6862c4572474624ef8a74fc552c4f72e30bd118c..0000000000000000000000000000000000000000
--- a/src/app/sys-check/start.component.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { SysCheckDataService } from './sys-check-data.service';
-import { Router, ActivatedRoute } from '@angular/router';
-import { BackendService } from './backend.service';
-import { Component, OnInit, SkipSelf } from '@angular/core';
-import { CheckConfigAbstract } from './sys-check.interfaces';
-import { CustomtextService } from 'iqb-components';
-
-
-
-@Component({
-  templateUrl: './start.component.html',
-  styleUrls: ['./start.component.css']
-})
-
-export class StartComponent implements OnInit {
-  checkConfigList: CheckConfigAbstract[] = [];
-  public dataLoading = false;
-
-  constructor(
-    private bs: BackendService,
-    private ds: SysCheckDataService,
-    private route: ActivatedRoute,
-    private router: Router,
-    @SkipSelf() public cts: CustomtextService) { }
-
-  ngOnInit() {
-    this.dataLoading = true;
-    this.bs.getCheckConfigs().subscribe(myConfigs => {
-      this.checkConfigList = myConfigs;
-      this.dataLoading = false;
-    });
-  }
-
-  buttonStartCheck(checkConfigAbstract: CheckConfigAbstract) {
-
-    console.log('checkConfigAbstract', checkConfigAbstract);
-    this.router.navigate(
-        [`../run/${checkConfigAbstract.workspaceId}/${checkConfigAbstract.name}`],
-        {relativeTo: this.route}
-    );
-  }
-
-  goBack() {
-    this.router.navigate(['/']);
-  }
-}
diff --git a/src/app/sys-check/sys-check-data.service.ts b/src/app/sys-check/sys-check-data.service.ts
index 9b8d76e51239d70fde031a9073221ebb8a55e9fe..35cd1ac1361a5b9341717f0804c08362cc641615 100644
--- a/src/app/sys-check/sys-check-data.service.ts
+++ b/src/app/sys-check/sys-check-data.service.ts
@@ -9,34 +9,7 @@ type Task = 'loadunit' | 'speedtest' | null;
 })
 export class SysCheckDataService {
 
-  public checkConfig$ = new BehaviorSubject<CheckConfig>(
-    {
-      name: 'Basistest',
-      label: 'Basistest',
-      questions: [],
-      hasUnit: false,
-      canSave: false,
-      customTexts: [],
-      skipNetwork: false,
-      downloadSpeed : {
-        min: 1.875e+6, // 15Mbit/s ~> typical dl speed 4G CAT4
-        good: 3.75e+6, // 30Mbit/s ~> typical dl speed 4G+ CAT6
-        maxDevianceBytesPerSecond: 100000,
-        maxErrorsPerSequence: 0,
-        maxSequenceRepetitions: 15,
-        sequenceSizes: [400000, 800000, 1600000, 3200000]
-      },
-      uploadSpeed : {
-        min: 250000, // 2Mbit/s
-        good: 1.25e+6, // 10Mbit/s
-        maxDevianceBytesPerSecond: 5000,
-        maxErrorsPerSequence: 0,
-        maxSequenceRepetitions: 15,
-        sequenceSizes: [100000, 200000, 400000, 800000]
-      },
-      workspaceId: 0
-    }
-  );
+  public checkConfig$ = new BehaviorSubject<CheckConfig>(null);
 
   public task$ = new BehaviorSubject<Task>(null);
   public taskQueue: Task[];
diff --git a/src/app/sys-check/sys-check-routing.module.ts b/src/app/sys-check/sys-check-routing.module.ts
index a7ff4fab47cac4484f263c27689fac7ee035a20b..b01691229038e1f25a83dbfe9017e8a5b17ab505 100644
--- a/src/app/sys-check/sys-check-routing.module.ts
+++ b/src/app/sys-check/sys-check-routing.module.ts
@@ -1,19 +1,10 @@
 import { SysCheckComponent } from './sys-check.component';
 import { NgModule } from '@angular/core';
 import { Routes, RouterModule } from '@angular/router';
-import { StartComponent } from './start.component';
 
 const routes: Routes = [
   {
-    path: '',
-    redirectTo: 'start'
-  },
-  {
-    path: 'start',
-    component: StartComponent
-  },
-  {
-    path: 'run/:workspace-id/:sys-check-name',
+    path: ':workspace-id/:sys-check-name',
     component: SysCheckComponent
   }];
 
diff --git a/src/app/sys-check/sys-check.component.html b/src/app/sys-check/sys-check.component.html
index 1f86c79bc078cf54b3061de48ef0be36957bc696..e468d098ee33915bf27e0d3816b15cb6a6523b1a 100644
--- a/src/app/sys-check/sys-check.component.html
+++ b/src/app/sys-check/sys-check.component.html
@@ -1,35 +1,27 @@
-<div class="logo">
-  <a [routerLink]="['/']">
-    <img src="assets/IQB-LogoA.png" matTooltip="Startseite" alt="iqb-logo"/>
-  </a>
+<div class="page-header">
+  <p>System-Check: {{title}}</p>
 </div>
 
-<div class="pagetitle">System-Check: {{title}}</div>
-
 <div class="page-body">
-  <div class="spinner-container-local" *ngIf="dataLoading">
-    <mat-spinner></mat-spinner>
-  </div>
   <div fxLayout="column" fxLayoutAlign="center stretch" class="cardhost">
     <div fxLayout="raw wrap" fxLayoutAlign="center stretch" fxFlex>
-      <mat-card fxFlex>
+      <mat-card fxFlex *ngIf="!loading">
         <iqb-environment-check></iqb-environment-check>
       </mat-card>
-      <mat-card fxFlex="2 0 800px">
-        <iqb-network-check [measureNetwork]="checks.network"></iqb-network-check>
+      <mat-card fxFlex="2 0 800px" *ngIf="networkCheck">
+        <iqb-network-check [measureNetwork]="networkCheck"></iqb-network-check>
       </mat-card>
     </div>
-    <div fxLayout="row" fxLayoutAlign="center stretch">
-      <mat-card [fxFlex]="(checks.questions) ? '2 0 800px' : ''" *ngIf="checks.unit">
+    <div fxLayout="row" fxLayoutAlign="center stretch" *ngIf="unitCheck || questions">
+      <mat-card [fxFlex]="(questions) ? '2 0 800px' : ''" *ngIf="unitCheck">
         <iqb-unit-check></iqb-unit-check>
       </mat-card>
-      <mat-card fxFlex *ngIf="checks.questions">
+      <mat-card fxFlex *ngIf="questions">
         <iqb-questionnaire></iqb-questionnaire>
       </mat-card>
     </div>
-    <mat-card>
-      <iqb-report [canSave]="checks.report"></iqb-report>
+    <mat-card *ngIf="reportEnabled">
+      <iqb-report [canSave]="reportEnabled"></iqb-report>
     </mat-card>
   </div>
-
 </div>
diff --git a/src/app/sys-check/sys-check.component.ts b/src/app/sys-check/sys-check.component.ts
index 53e0d99b042d051bf83acb4cee8f41bf1ca79554..700a3431b0438d5ca4e845dcc0d57f7363f3f7f4 100644
--- a/src/app/sys-check/sys-check.component.ts
+++ b/src/app/sys-check/sys-check.component.ts
@@ -4,39 +4,30 @@ import {Component, OnDestroy, OnInit} from '@angular/core';
 import { BackendService } from './backend.service';
 import { Subscription } from 'rxjs';
 import { CustomtextService } from 'iqb-components';
-
-
-interface Checks {
-  environment: boolean;
-  unit: boolean;
-  questions: boolean;
-  network: boolean;
-  report: boolean;
-}
+import {MainDataService} from "../maindata.service";
 
 @Component({
-  selector: 'app-run',
   templateUrl: './sys-check.component.html',
   styleUrls: ['./sys-check.component.scss']
 })
+
 export class SysCheckComponent implements OnInit, OnDestroy {
   private taskSubscription: Subscription = null;
-  dataLoading = false;
 
-  checks: Checks = {
-    environment: true,
-    unit: false,
-    questions: false,
-    network: false,
-    report: true
-  };
+  loading = false;
+  unitCheck = false;
+  questions = false;
+  networkCheck = false;
+  reportEnabled = false;
+  isError = false;
 
-  title: String = '';
+  title = 'Lade - bitte warten';
 
   constructor(
     private bs: BackendService,
     private ds: SysCheckDataService,
     private route: ActivatedRoute,
+    private mds: MainDataService,
     private cts: CustomtextService
   ) {
   }
@@ -46,34 +37,47 @@ export class SysCheckComponent implements OnInit, OnDestroy {
 
       const sysCheckName = params.get('sys-check-name');
       const workspaceId = parseInt(params.get('workspace-id'));
-      this.bs.getCheckConfigData(workspaceId, sysCheckName).subscribe(checkConfig => {
-        this.ds.checkConfig$.next(checkConfig);
-
-        this.title = checkConfig.label;
-        this.checks.unit = checkConfig.hasUnit;
-        this.checks.network = !checkConfig.skipNetwork;
-        this.checks.questions = checkConfig.questions.length > 0;
-        this.checks.report = checkConfig.canSave;
+      setTimeout(() => {
+        this.mds.incrementDelayedProcessesCount();
+        this.loading = true;
+        this.bs.getCheckConfigData(workspaceId, sysCheckName).subscribe(checkConfig => {
+          this.ds.checkConfig$.next(checkConfig);
+          if (checkConfig) {
+            this.title = checkConfig.label;
+            this.unitCheck = checkConfig.hasUnit;
+            this.networkCheck = !checkConfig.skipNetwork;
+            this.questions = checkConfig.questions.length > 0;
+            this.reportEnabled = checkConfig.canSave;
 
-        if (this.checks.unit) {
-          this.ds.taskQueue.push('loadunit');
-        }
-        if (this.checks.network) {
-          this.ds.taskQueue.push('speedtest');
-        }
-        if (checkConfig.customTexts.length > 0) {
-          const myCustomTexts: {[key: string]: string} = {};
-          checkConfig.customTexts.forEach(ct => {
-            myCustomTexts[ct.key] = ct.value;
-          });
-          this.cts.addCustomTexts(myCustomTexts);
-        }
-        this.ds.nextTask();
-        this.taskSubscription = this.ds.task$.subscribe(task => {
-          this.dataLoading = (typeof task !== 'undefined') && (this.ds.taskQueue.length > 0);
+            if (this.unitCheck) {
+              this.ds.taskQueue.push('loadunit');
+            }
+            if (this.networkCheck) {
+              this.ds.taskQueue.push('speedtest');
+            }
+            if (checkConfig.customTexts.length > 0) {
+              const myCustomTexts: {[key: string]: string} = {};
+              checkConfig.customTexts.forEach(ct => {
+                myCustomTexts[ct.key] = ct.value;
+              });
+              this.cts.addCustomTexts(myCustomTexts);
+            }
+            this.ds.nextTask();
+            this.taskSubscription = this.ds.task$.subscribe(task => {
+              this.loading = (typeof task !== 'undefined') && (this.ds.taskQueue.length > 0);
+              if (!this.loading) {
+                this.mds.decrementDelayedProcessesCount();
+              }
+            });
+            this.isError = false;
+          } else {
+            this.mds.decrementDelayedProcessesCount();
+            this.title = 'Fehler beim Laden der Daten für den System-Check';
+            this.loading = false;
+            this.isError = true;
+          }
         });
-
-      });
+      })
     });
   }
 
diff --git a/src/app/sys-check/sys-check.interfaces.ts b/src/app/sys-check/sys-check.interfaces.ts
index 0159a0a4165cc7806f1997276629cfe032da0f55..f20a781c95a2474d85d40b21e34edd568f4a0c5e 100644
--- a/src/app/sys-check/sys-check.interfaces.ts
+++ b/src/app/sys-check/sys-check.interfaces.ts
@@ -1,10 +1,3 @@
-export interface CheckConfigAbstract {
-  workspaceId: string;
-  name: string;
-  label: string;
-  description: string;
-}
-
 export interface SpeedParameters {
   min: number;
   good: number;
diff --git a/src/app/sys-check/sys-check.module.ts b/src/app/sys-check/sys-check.module.ts
index 5e0d18ef72220b9202d7d6b080de56711346f91e..251934545b0e22d8db99c6f0e6db1ef6d9d23b73 100644
--- a/src/app/sys-check/sys-check.module.ts
+++ b/src/app/sys-check/sys-check.module.ts
@@ -5,7 +5,6 @@ import { NgModule } from '@angular/core';
 import { CommonModule } from '@angular/common';
 
 import { SysCheckRoutingModule } from './sys-check-routing.module';
-import { StartComponent } from './start.component';
 import { SysCheckComponent } from './sys-check.component';
 import { FlexLayoutModule } from '@angular/flex-layout';
 import {MatDividerModule} from '@angular/material/divider';
@@ -60,7 +59,6 @@ import {MatStepperModule} from "@angular/material/stepper";
     IqbComponentsModule.forChild()
   ],
   declarations: [
-    StartComponent,
     SysCheckComponent,
     EnvironmentCheckComponent,
     NetworkCheckComponent,
@@ -72,9 +70,6 @@ import {MatStepperModule} from "@angular/material/stepper";
     UnitNaviButtonsComponent,
     TcSpeedChartComponent
   ],
-  exports: [
-    StartComponent
-  ],
   entryComponents: [
     SaveReportComponent
   ],
diff --git a/src/styles.css b/src/styles.css
index 940755c7b22e85aab420fe89d4fb2053b734bba5..8de9bd0c69953be7dcbefca198de3efdae93f4ea 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -44,7 +44,7 @@
   z-index: 999;
 }
 
-.spinner-container-local {
+.spinner-container-local { /* TODO remove */
   align-items: center;
   bottom: 0;
   display: flex;
@@ -65,7 +65,7 @@ iframe.unitHost {
   margin: 0;
 }
 
-p.unitMessage {
+p.unitMessage { /* TODO why here? */
   margin: 50px;
   text-align: center;
 }
@@ -80,10 +80,29 @@ div.logo img {
   width: 100px;
 }
 
-.pagetitle {
+.page-header {
   position: absolute;
   left: 140px;
-  top: 18px;
+  width: calc(100% - 140px);
+  top: 0;
+  padding: 0 10px 0 0;
+}
+
+.page-header mat-toolbar {
+  position: fixed;
+  z-index: 100;
+  top: 4px;
+  right: 90px;
+}
+
+.page-header mat-icon {
+  position: relative;
+  top: -8px;
+  font-size: 36px;
+  padding: 2px;
+}
+
+.page-header p {
   font-size: 1.5em;
   color: white;
 }