diff --git a/goofy-client/libs/binary-file-shared/src/lib/binary-file.service.spec.ts b/goofy-client/libs/binary-file-shared/src/lib/binary-file.service.spec.ts
index 2e4977a3a058ba36259776d0d8be13b38c5b0e52..578e031db31c7a160bf8f43b0b623a4cfbd6fe1d 100644
--- a/goofy-client/libs/binary-file-shared/src/lib/binary-file.service.spec.ts
+++ b/goofy-client/libs/binary-file-shared/src/lib/binary-file.service.spec.ts
@@ -42,7 +42,7 @@ describe('BinaryFileService', () => {
 		})
 
 		it('should call repository', () => {
-			service.uploadFile(dummyResource, dummyLinkRel, testFile).subscribe();
+			service.uploadFileLegacy(dummyResource, dummyLinkRel, testFile).subscribe();
 
 			expect(repository.uploadFile).toHaveBeenCalledWith(dummyResource, dummyLinkRel, testFile);
 		})
@@ -111,7 +111,7 @@ describe('BinaryFileService', () => {
 		})
 
 		it('should call repository', () => {
-			service.uploadFileNew(dummyResource, dummyLinkRel, testFile)
+			service.uploadFile(dummyResource, dummyLinkRel, testFile)
 
 			expect(repository.uploadFile).toHaveBeenCalledWith(dummyResource, dummyLinkRel, testFile);
 		})
@@ -120,7 +120,7 @@ describe('BinaryFileService', () => {
 			repository.uploadFile.mockReturnValue(of(uploadFileResponse));
 			repository.getFile.mockReturnValue(of(returnFile));
 
-			service.uploadFileNew(dummyResource, dummyLinkRel, testFile);
+			service.uploadFile(dummyResource, dummyLinkRel, testFile);
 
 			expect(repository.getFile).toHaveBeenCalledWith(fileLocation);
 		})
diff --git a/goofy-client/libs/binary-file-shared/src/lib/binary-file.service.ts b/goofy-client/libs/binary-file-shared/src/lib/binary-file.service.ts
index 4eb8bafcec3143e5f54466c8d12385a18a158249..e9726c757bc32d32d50cb5ca360b45a08c7eee98 100644
--- a/goofy-client/libs/binary-file-shared/src/lib/binary-file.service.ts
+++ b/goofy-client/libs/binary-file-shared/src/lib/binary-file.service.ts
@@ -15,13 +15,13 @@ export class BinaryFileService {
 
 	constructor(private repository: BinaryFileRepository, private snackbarService: SnackBarService) { }
 
-	/** @deprecated use uploadFileNew instead */
-	public uploadFile(resource: Resource, linkRel: string, file: File): Observable<ResourceUri> {
+	/** @deprecated use uploadFile instead */
+	public uploadFileLegacy(resource: Resource, linkRel: string, file: File): Observable<ResourceUri> {
 		return this.repository.uploadFile(resource, linkRel, file).pipe(map((response: HttpResponse<void>) => response.headers.get('Location')));
 	}
 
 	//TODO Nach der Umstellung umbenennen
-	public uploadFileNew(resource: Resource, linkRel: string, file: File): Observable<StateResource<any>> {//Aktuell noch OzgFileResource
+	public uploadFile(resource: Resource, linkRel: string, file: File): Observable<StateResource<any>> {//Aktuell noch OzgFileResource
 		return this.repository.uploadFile(resource, linkRel, file).pipe(
 			mergeMap((response: HttpResponse<void>) => this.getFile(response.headers.get('Location'))),
 			catchError(errorResponse => this.handleError(errorResponse.error)),
diff --git a/goofy-client/libs/binary-file/src/lib/binary-file-container/binary-file-container.component.ts b/goofy-client/libs/binary-file/src/lib/binary-file-container/binary-file-container.component.ts
index c1cb82195add26f6f09d893652a95c996e4f3b71..154004ca8efd9d8d4a2ca7137ead3e3659b443ec 100644
--- a/goofy-client/libs/binary-file/src/lib/binary-file-container/binary-file-container.component.ts
+++ b/goofy-client/libs/binary-file/src/lib/binary-file-container/binary-file-container.component.ts
@@ -30,7 +30,7 @@ export class BinaryFileContainerComponent {
 	}
 
 	uploadFile(file: File): void {
-		this.uploadInProgress$ = this.service.uploadFileNew(this.uploadStateResource.resource, this.linkRelUploadAttachment, file).pipe(
+		this.uploadInProgress$ = this.service.uploadFile(this.uploadStateResource.resource, this.linkRelUploadAttachment, file).pipe(
 			tap((stateResource: StateResource<OzgFileResource>) => this.doAfterFileUpload(stateResource))
 		);
 	}
diff --git a/goofy-client/libs/command-shared/src/lib/command.util.spec.ts b/goofy-client/libs/command-shared/src/lib/command.util.spec.ts
index be381faa36ce41caf761cb227a3a9c71dccfa60b..1002d550218dfdc411faa7c542ed7b750b090e6e 100644
--- a/goofy-client/libs/command-shared/src/lib/command.util.spec.ts
+++ b/goofy-client/libs/command-shared/src/lib/command.util.spec.ts
@@ -1,6 +1,7 @@
-import { createCommandResource } from 'libs/command-shared/test/command'
+import { createCommandListResource, createCommandResource } from 'libs/command-shared/test/command'
 import { CommandLinkRel } from './command.linkrel'
-import { hasError, isDone, isPending, isRevokeable } from './command.util'
+import { CommandListResource, CommandResource } from './command.model'
+import { getPendingCommandByOrder, hasError, isDone, isPending, isRevokeable } from './command.util'
 
 describe('CommandUtil', () => {
 
@@ -63,4 +64,26 @@ describe('CommandUtil', () => {
 			expect(result).toBeFalsy();
 		})
 	})
+
+	describe('getPendingForwardCommand', () => {
+
+		const order: string = 'dummyOrder';
+
+		it('should return null on non existing pending command', () => {
+			const listResource: CommandListResource = createCommandListResource();
+
+			const pendingCommand: CommandResource = getPendingCommandByOrder(listResource, order);
+
+			expect(pendingCommand).toBeNull();
+		})
+
+		it('should return existing pending command', () => {
+			const pendingForwardCommand: CommandResource = { ...createCommandResource(), order };
+			const listResource: CommandListResource = createCommandListResource([pendingForwardCommand]);
+
+			const pendingCommand: CommandResource = getPendingCommandByOrder(listResource, order);
+
+			expect(pendingCommand).toBe(pendingForwardCommand);
+		})
+	})
 })
\ No newline at end of file
diff --git a/goofy-client/libs/command-shared/src/lib/command.util.ts b/goofy-client/libs/command-shared/src/lib/command.util.ts
index 2a349961dffe16158da147d61b7bf62ff3a507e4..9dcbd90775befb85c776dc61492d959bdbd6423e 100644
--- a/goofy-client/libs/command-shared/src/lib/command.util.ts
+++ b/goofy-client/libs/command-shared/src/lib/command.util.ts
@@ -32,4 +32,6 @@ export function getPendingCommandByOrder(pendingCommands: CommandListResource, c
 	return commands.length > 0 ? commands[0] : null;
 }
 
-export function doIfCommandIsDone(commandResource: CommandResource, action: () => void) { if (isObject(commandResource) && isDone(commandResource)) action(); }
\ No newline at end of file
+export function doIfCommandIsDone(commandResource: CommandResource, action: () => void) {
+	if (isObject(commandResource) && isDone(commandResource)) action();
+}
\ No newline at end of file
diff --git a/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.html b/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.html
index 5527a14181cfc894a711bccfc6b09e1f837f35a5..8af20b60bff4fe7d2c29785717690e58494cf331 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.html
+++ b/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.html
@@ -1,10 +1,12 @@
 <a #home="routerLinkActive" routerLink="/"
-		routerLinkActive="active"
+		[routerLinkActive]="isSelected() ? 'is_active' : 'is_disabled'"
 		[routerLinkActiveOptions]="{ exact: true }"
 		[matTooltip]="navigationCollapse ? label: null"
 		matRipple
-		matRippleColor="rgba(13,71,161, 0.08)">
+		matRippleColor="rgba(13,71,161, 0.08)"
+		[class.active]="isSelected()"
+		(click)="selectItem.emit(navigationItem.ALL_VORGAENGE)">
 	<mat-icon>apps</mat-icon>
-	<h1 *ngIf="home.isActive; else homeInactive">{{label}}</h1>
+	<h1 *ngIf="isSelected(); else homeInactive">{{label}}</h1>
 	<ng-template #homeInactive><span>{{label}}</span></ng-template>
 </a>
\ No newline at end of file
diff --git a/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.spec.ts b/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.spec.ts
index 4a749332616862f7621018eaeae50d9bb0cdd051..e4787d237bfa83f606a0046144d69f61accfa87b 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.spec.ts
+++ b/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.spec.ts
@@ -2,6 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
 import { MatTooltipModule } from '@angular/material/tooltip';
 import { RouterTestingModule } from '@angular/router/testing';
+import { NavigationItem } from '@goofy-client/tech-shared';
 import { AllVorgaengeNavigationItemComponent } from './all-vorgaenge-navigation-item.component';
 
 describe('AllVorgaengeNavigationItemComponent', () => {
@@ -30,4 +31,23 @@ describe('AllVorgaengeNavigationItemComponent', () => {
 	it('should create', () => {
 		expect(component).toBeTruthy();
 	});
+
+	describe('isSelected', () => {
+
+		it('should return false on my vorgaenge', () => {
+			component.selectedNavigationItem = NavigationItem.MY_VORGAENGE
+
+			var result: boolean = component.isSelected();
+
+			expect(result).toBeFalsy();
+		})
+
+		it('should return true on all vorgaenge', () => {
+			component.selectedNavigationItem = NavigationItem.ALL_VORGAENGE
+
+			var result: boolean = component.isSelected();
+
+			expect(result).toBeTruthy();
+		})
+	})
 });
\ No newline at end of file
diff --git a/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.ts b/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.ts
index 4a3e503a4bc29a7f55026a88c37f84bc5c4cfbb5..7d6c3db0cb03c763aae04aedead820e4239d5bec 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.ts
+++ b/goofy-client/libs/navigation/src/lib/navigation/all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component.ts
@@ -1,4 +1,5 @@
-import { Component, Input } from '@angular/core';
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { NavigationItem } from '@goofy-client/tech-shared';
 
 @Component({
 	selector: 'goofy-client-all-vorgaenge-navigation-item',
@@ -8,7 +9,14 @@ import { Component, Input } from '@angular/core';
 export class AllVorgaengeNavigationItemComponent {
 
 	@Input() navigationCollapse: boolean;
+	@Input() selectedNavigationItem: NavigationItem;
+
+	@Output() selectItem: EventEmitter<NavigationItem> = new EventEmitter<NavigationItem>();
 
 	readonly label: string = 'Alle Vorgänge';
+	readonly navigationItem = NavigationItem;
 
+	isSelected(): boolean {
+		return this.selectedNavigationItem === NavigationItem.ALL_VORGAENGE;
+	}
 }
\ No newline at end of file
diff --git a/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.html b/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.html
index 7bc65114cf9cdb6ab93928164d5fa16189ff649e..11bab5a929aa038ffdfdfdfd3ccc6e035193fd85 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.html
+++ b/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.html
@@ -1,10 +1,12 @@
 <a #home="routerLinkActive" routerLink="/myVorgaenge"
-		routerLinkActive="active"
+		[routerLinkActive]="isSelected() ? 'is_active' : 'is_disabled'"
 		[routerLinkActiveOptions]="{ exact: true }"
 		[matTooltip]="navigationCollapse ? label: null"
 		matRipple
-		matRippleColor="rgba(13,71,161, 0.08)">
+		matRippleColor="rgba(13,71,161, 0.08)"
+		[class.active]="isSelected()"
+		(click)="selectItem.emit(navigationItem.MY_VORGAENGE)">
 	<mat-icon>star</mat-icon>
-	<h1 *ngIf="home.isActive; else homeInactive">{{label}}</h1>
+	<h1 *ngIf="isSelected(); else homeInactive">{{label}}</h1>
 	<ng-template #homeInactive><span>{{label}}</span></ng-template>
 </a>
\ No newline at end of file
diff --git a/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.spec.ts b/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.spec.ts
index 9989dfd640c45a6193ce3d2a696aaa490e38b260..eaa3e1d919bb92db2c4f6a75cb8829e9d677efa1 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.spec.ts
+++ b/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.spec.ts
@@ -2,6 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MatIcon } from '@angular/material/icon';
 import { MatTooltipModule } from '@angular/material/tooltip';
 import { RouterTestingModule } from '@angular/router/testing';
+import { NavigationItem } from '@goofy-client/tech-shared';
 import { MyVorgaengeNavigationItemComponent } from './my-vorgaenge-navigation-item.component';
 
 describe('MyVorgaengeNavigationItemComponent', () => {
@@ -30,4 +31,23 @@ describe('MyVorgaengeNavigationItemComponent', () => {
 	it('should create', () => {
 		expect(component).toBeTruthy();
 	});
+
+	describe('isSelected', () => {
+
+		it('should return true on my vorgaenge', () => {
+			component.selectedNavigationItem = NavigationItem.MY_VORGAENGE
+
+			var result: boolean = component.isSelected();
+
+			expect(result).toBeTruthy();
+		})
+
+		it('should return false on all vorgaenge', () => {
+			component.selectedNavigationItem = NavigationItem.ALL_VORGAENGE
+
+			var result: boolean = component.isSelected();
+
+			expect(result).toBeFalsy();
+		})
+	})
 });
diff --git a/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.ts b/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.ts
index 12e8f04ffd58bdf4aac80926a659d9e9ca22bda3..b1ffbb22e2060e935dee5496cf2f9090776fa319 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.ts
+++ b/goofy-client/libs/navigation/src/lib/navigation/my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component.ts
@@ -1,4 +1,5 @@
-import { Component, Input } from '@angular/core';
+import { Component, EventEmitter, Input, Output } from '@angular/core';
+import { NavigationItem } from '@goofy-client/tech-shared';
 
 @Component({
 	selector: 'goofy-client-my-vorgaenge-navigation-item',
@@ -8,6 +9,14 @@ import { Component, Input } from '@angular/core';
 export class MyVorgaengeNavigationItemComponent {
 
 	@Input() navigationCollapse: boolean;
+	@Input() selectedNavigationItem: NavigationItem;
+
+	@Output() selectItem: EventEmitter<NavigationItem> = new EventEmitter<NavigationItem>();
 
 	readonly label: string = 'Meine Vorgänge';
+	readonly navigationItem = NavigationItem;
+
+	isSelected(): boolean {
+		return this.selectedNavigationItem === NavigationItem.MY_VORGAENGE;
+	}
 }
\ No newline at end of file
diff --git a/goofy-client/libs/navigation/src/lib/navigation/navigation.component.html b/goofy-client/libs/navigation/src/lib/navigation/navigation.component.html
index d762d1b21599f75c5e065dadfe93355c02c1e8db..793f5e7f9f873bcf7afd21acab6532fdda1989d0 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/navigation.component.html
+++ b/goofy-client/libs/navigation/src/lib/navigation/navigation.component.html
@@ -3,12 +3,16 @@
 		<ul>
 			<li>
 				<goofy-client-all-vorgaenge-navigation-item *ngIf="apiRootStateResource.resource | hasLink: apiRootLinkRel.VORGAENGE" data-test-id="all-vorgaenge-navigation-item"
-					[navigationCollapse]="navigationCollapse$ | async">
+					[navigationCollapse]="navigationCollapse$ | async"
+					[selectedNavigationItem]="selectedNavigationItem$ | async"
+					(selectItem)="selectItem($event)">
 				</goofy-client-all-vorgaenge-navigation-item>
 			</li>
 			<li>
 				<goofy-client-my-vorgaenge-navigation-item *ngIf="apiRootStateResource.resource | hasLink: apiRootLinkRel.MY_VORGAENGE" data-test-id="my-vorgaenge-navigation-item"
-					[navigationCollapse]="navigationCollapse$ | async">
+					[navigationCollapse]="navigationCollapse$ | async"
+					[selectedNavigationItem]="selectedNavigationItem$ | async"
+					(selectItem)="selectItem($event)">
 				</goofy-client-my-vorgaenge-navigation-item>
 			</li>
 		</ul>
diff --git a/goofy-client/libs/navigation/src/lib/navigation/navigation.component.spec.ts b/goofy-client/libs/navigation/src/lib/navigation/navigation.component.spec.ts
index 48ba82063a5750b34d9012d7e8ace99196d4a429..6f841f16fdc72e304401ae448f6037e2e61f26c5 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/navigation.component.spec.ts
+++ b/goofy-client/libs/navigation/src/lib/navigation/navigation.component.spec.ts
@@ -1,12 +1,12 @@
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { ApiRootLinkRel, ApiRootService } from '@goofy-client/api-root-shared';
 import { AppService } from '@goofy-client/app-shared';
-import { createStateResource, HasLinkPipe } from '@goofy-client/tech-shared';
+import { createStateResource, HasLinkPipe, NavigationItem, NavigationService } from '@goofy-client/tech-shared';
 import { getElementFromFixture, mock } from '@goofy-client/test-utils';
 import { createApiRootResource } from 'libs/api-root-shared/test/api-root';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent } from 'ng-mocks';
-import { BehaviorSubject, of } from 'rxjs';
+import { of } from 'rxjs';
 import { AllVorgaengeNavigationItemComponent } from './all-vorgaenge-navigation-item/all-vorgaenge-navigation-item.component';
 import { MyVorgaengeNavigationItemComponent } from './my-vorgaenge-navigation-item/my-vorgaenge-navigation-item.component';
 import { NavigationComponent } from './navigation.component';
@@ -15,9 +15,9 @@ describe('NavigationComponent', () => {
 	let component: NavigationComponent;
 	let fixture: ComponentFixture<NavigationComponent>;
 
-	const navigationCollapseSubj: BehaviorSubject<boolean> = new BehaviorSubject(false);
-	const appService = { ...mock(AppService), getNavigationCollapse: () => navigationCollapseSubj };
-	const apiRootService = { ...mock(ApiRootService), getApiRoot: () => of(createStateResource(createApiRootResource())) };
+	const appService = mock(AppService);
+	const apiRootService = mock(ApiRootService);
+	const navigationService = mock(NavigationService);
 
 	const allVorgaenge: string = getDataTestIdOf('all-vorgaenge-navigation-item');
 	const myVorgaenge: string = getDataTestIdOf('my-vorgaenge-navigation-item');
@@ -32,6 +32,10 @@ describe('NavigationComponent', () => {
 				{
 					provide: ApiRootService,
 					useValue: apiRootService
+				},
+				{
+					provide: NavigationService,
+					useValue: navigationService
 				}
 			],
 			declarations: [
@@ -53,6 +57,27 @@ describe('NavigationComponent', () => {
 		expect(component).toBeTruthy();
 	});
 
+	describe('on constructor', () => {
+
+		it('should call navigation service', () => {
+			fixture.detectChanges();
+
+			expect(navigationService.getSelectedItem).toHaveBeenCalled();
+		});
+
+		it('should call app service', () => {
+			fixture.detectChanges();
+
+			expect(appService.getNavigationCollapse).toHaveBeenCalled();
+		});
+
+		it('should call api root service', () => {
+			fixture.detectChanges();
+
+			expect(apiRootService.getApiRoot).toHaveBeenCalled();
+		});
+	})
+
 	describe('all vorgaenge item', () => {
 
 		it('should show on existing link', () => {
@@ -94,4 +119,15 @@ describe('NavigationComponent', () => {
 			expect(element).not.toBeInstanceOf(HTMLElement);
 		})
 	})
+
+	describe('select item', () => {
+
+		const itemToSelect: NavigationItem = NavigationItem.ALL_VORGAENGE;
+
+		it('should call navigation service', () => {
+			component.selectItem(itemToSelect);
+
+			expect(navigationService.setSelectedItem).toHaveBeenCalledWith(itemToSelect);
+		})
+	})
 });
diff --git a/goofy-client/libs/navigation/src/lib/navigation/navigation.component.ts b/goofy-client/libs/navigation/src/lib/navigation/navigation.component.ts
index 113f5daf97637fec52b677188eebafe4eeb782ad..f756c884a1bf5adc63e70428c1a3cb2858f3f84c 100644
--- a/goofy-client/libs/navigation/src/lib/navigation/navigation.component.ts
+++ b/goofy-client/libs/navigation/src/lib/navigation/navigation.component.ts
@@ -1,7 +1,7 @@
 import { Component } from '@angular/core';
 import { ApiRootLinkRel, ApiRootResource, ApiRootService } from '@goofy-client/api-root-shared';
 import { AppService } from '@goofy-client/app-shared';
-import { StateResource } from '@goofy-client/tech-shared';
+import { NavigationItem, NavigationService, StateResource } from '@goofy-client/tech-shared';
 import { Observable } from 'rxjs';
 
 //TODO Componente an die Containerstruktur anpassen
@@ -14,11 +14,17 @@ export class NavigationComponent {
 
 	navigationCollapse$: Observable<boolean>;
 	apiRootStateResource$: Observable<StateResource<ApiRootResource>>;
+	selectedNavigationItem$: Observable<NavigationItem>;
 
 	readonly apiRootLinkRel = ApiRootLinkRel;
 
-	constructor(private appService: AppService, private apiRootService: ApiRootService) {
+	constructor(private appService: AppService, private apiRootService: ApiRootService, private navigationService: NavigationService) {
 		this.navigationCollapse$ = this.appService.getNavigationCollapse();
 		this.apiRootStateResource$ = this.apiRootService.getApiRoot();
+		this.selectedNavigationItem$ = this.navigationService.getSelectedItem();
+	}
+
+	selectItem(item: NavigationItem): void {
+		this.navigationService.setSelectedItem(item);
 	}
 }
\ No newline at end of file
diff --git a/goofy-client/libs/tech-shared/src/lib/service/navigation.service.spec.ts b/goofy-client/libs/tech-shared/src/lib/service/navigation.service.spec.ts
index 728f95838242178a5efa27316ccbe7cea7fb7d65..1f2a75e1c0eb5b7222bf928abc26934e4b5be6a6 100644
--- a/goofy-client/libs/tech-shared/src/lib/service/navigation.service.spec.ts
+++ b/goofy-client/libs/tech-shared/src/lib/service/navigation.service.spec.ts
@@ -4,7 +4,7 @@ import { mock, useFromMock } from '@goofy-client/test-utils';
 import { ResourceUri } from '@ngxp/rest';
 import { of } from 'rxjs';
 import { EMPTY_STRING } from '../tech.util';
-import { NavigationService } from './navigation.service';
+import { NavigationItem, NavigationService } from './navigation.service';
 
 describe('NavigationService', () => {
 	let service: NavigationService;
@@ -15,13 +15,15 @@ describe('NavigationService', () => {
 		events: of({})
 	};
 
+	const activatedRouteParams: Params = {};
 	const activatedRoute = {
 		...mock(ActivatedRoute),
 		root: {
 			firstChild: {
-				params: of(<Params>{})
+				params: of(activatedRouteParams)
 			}
 		},
+		params: of(activatedRouteParams)
 	};
 
 	beforeEach(() => {
@@ -72,7 +74,7 @@ describe('NavigationService', () => {
 
 				service.navigateToVorgangList();
 
-				expect(router.navigate).toHaveBeenCalledWith(['/myVorgaenge/']);
+				expect(router.navigate).toHaveBeenCalledWith([NavigationService.MY_VORGAENGE_PATH]);
 			})
 
 			it('should navigate to vorganglist on navigation all vorgaenge', () => {
@@ -80,7 +82,7 @@ describe('NavigationService', () => {
 
 				service.navigateToVorgangList();
 
-				expect(router.navigate).toHaveBeenCalledWith(['/']);
+				expect(router.navigate).toHaveBeenCalledWith([NavigationService.ROOT_PATH]);
 			})
 		})
 
@@ -89,7 +91,7 @@ describe('NavigationService', () => {
 
 			service.navigateToVorgang(linkRel);
 
-			expect(router.navigate).toHaveBeenCalledWith(['/', 'vorgang', linkRel]);
+			expect(router.navigate).toHaveBeenCalledWith([NavigationService.ROOT_PATH, NavigationService.URL_PARAM_MY_VORGANG, linkRel]);
 		})
 
 		it('should navigate with search string', () => {
@@ -98,7 +100,96 @@ describe('NavigationService', () => {
 
 			service.search(searchString);
 
-			expect(router.navigate).toHaveBeenCalledWith(['/search/', encodeURI(searchString)]);
+			expect(router.navigate).toHaveBeenCalledWith(['/' + NavigationService.URL_PARAM_SEARCH + '/', encodeURI(searchString)]);
+		})
+	})
+
+	describe('updateItemSelection', () => {
+
+		beforeEach(() => {
+			service.setSelectedItem = jest.fn();
+		})
+
+		it('should set selectedItem to allVorgaenge', () => {
+			router.url = '/';
+
+			service.updateItemSelection({});
+
+			expect(service.setSelectedItem).toHaveBeenCalledWith(NavigationItem.ALL_VORGAENGE);
+		})
+
+		it('should set selectedItem to myVorgaenge', () => {
+			router.url = '/myVorgaenge';
+
+			service.updateItemSelection({});
+
+			expect(service.setSelectedItem).toHaveBeenCalledWith(NavigationItem.MY_VORGAENGE);
+		})
+
+		it('should do nothing on vorgang detail', () => {
+			router.url = '/vorgang/';
+
+			service.updateItemSelection({ ['vorgangWithEingangUrl']: 'testVorgangId' });
+
+			expect(service.setSelectedItem).not.toHaveBeenCalled();
+		})
+	})
+
+	describe('updateRouteParameter', () => {
+		it('should check if route changed', () => {
+			service.isNewRoute = jest.fn();
+
+			service.updateRouteParameter(<any>activatedRoute);
+
+			expect(service.isNewRoute).toHaveBeenCalledWith(activatedRouteParams);
+		})
+
+		describe('on new route', () => {
+
+			beforeEach(() => {
+				service.isNewRoute = jest.fn();
+				(<any>service).isNewRoute.mockReturnValue(true);
+			})
+
+			it('should update route parameter if is new route', () => {
+				service.setRouteParameter = jest.fn();
+
+				service.updateRouteParameter(<any>activatedRoute);
+
+				expect(service.setRouteParameter).toHaveBeenCalledWith(activatedRouteParams);
+			})
+
+			it('should update item selection', () => {
+				service.updateItemSelection = jest.fn();
+
+				service.updateRouteParameter(<any>activatedRoute);
+
+				expect(service.updateItemSelection).toHaveBeenCalledWith(activatedRouteParams);
+			})
+		})
+
+		describe('on same route', () => {
+
+			beforeEach(() => {
+				service.isNewRoute = jest.fn();
+				(<any>service).isNewRoute.mockReturnValue(false);
+			})
+
+			it('should NOT update route parameter if is new route', () => {
+				service.setRouteParameter = jest.fn();
+
+				service.updateRouteParameter(<any>activatedRoute);
+
+				expect(service.setRouteParameter).not.toHaveBeenCalled();
+			})
+
+			it('should NOT update item selection', () => {
+				service.updateItemSelection = jest.fn();
+
+				service.updateRouteParameter(<any>activatedRoute);
+
+				expect(service.updateItemSelection).not.toHaveBeenCalled();
+			})
 		})
 	})
 });
diff --git a/goofy-client/libs/tech-shared/src/lib/service/navigation.service.ts b/goofy-client/libs/tech-shared/src/lib/service/navigation.service.ts
index 00e0522c5a27c6b59f4c4c35a5ad18e8e1398361..3e35b431edf9588eda608ce8d98020de71e191f3 100644
--- a/goofy-client/libs/tech-shared/src/lib/service/navigation.service.ts
+++ b/goofy-client/libs/tech-shared/src/lib/service/navigation.service.ts
@@ -11,6 +11,14 @@ import { isEmptyObject } from '../tech.util';
 export class NavigationService {
 
 	private readonly routeParameter$: BehaviorSubject<Params> = new BehaviorSubject({});
+	private readonly selectedItem: BehaviorSubject<NavigationItem> = new BehaviorSubject<NavigationItem>(NavigationItem.ALL_VORGAENGE);
+
+	private static readonly URL_PARAM_MY_VORGAENGE: string = 'myVorgaenge';
+	static readonly URL_PARAM_MY_VORGANG: string = 'vorgang';
+	static readonly URL_PARAM_SEARCH: string = 'search';
+
+	public static readonly ROOT_PATH: string = '/';
+	public static readonly MY_VORGAENGE_PATH: string = NavigationService.ROOT_PATH + NavigationService.URL_PARAM_MY_VORGAENGE + '/';
 
 	private routeSubscription: Subscription;
 
@@ -41,17 +49,32 @@ export class NavigationService {
 		return route;
 	}
 
-	private updateRouteParameter(route: ActivatedRoute): void {
+	updateRouteParameter(route: ActivatedRoute): void {
 		if (!isNil(this.routeSubscription)) this.routeSubscription.unsubscribe();
 		this.routeSubscription = route.params.subscribe((params: Params) => {
-			if (this.isNewRoute(params)) this.routeParameter$.next(params);
+			if (this.isNewRoute(params)) {
+				this.setRouteParameter(params);
+				this.updateItemSelection(params);
+			}
 		});
 	}
 
-	private isNewRoute(newParams: Params): boolean {
+	isNewRoute(newParams: Params): boolean {
 		return newParams != this.routeParameter$.value
 	}
 
+	setRouteParameter(params: Params): void {
+		this.routeParameter$.next(params);
+	}
+
+	updateItemSelection(params: Params): void {
+		if (this.isMyVorgaengeNavigation()) {
+			this.setSelectedItem(NavigationItem.MY_VORGAENGE);
+		} else if (NavigationService.isVorgangListPage(params) || NavigationService.isSearch(params)) {
+			this.setSelectedItem(NavigationItem.ALL_VORGAENGE);
+		}
+	}
+
 	public urlChanged(): Observable<Params> {
 		return this.routeParameter$.asObservable();
 	}
@@ -94,7 +117,7 @@ export class NavigationService {
 	}
 
 	static isSearch(params: Params): boolean {
-		return Object.keys(params).length === 1 && !isNil(params['search']);
+		return Object.keys(params).length === 1 && !isNil(params[NavigationService.URL_PARAM_SEARCH]);
 	}
 
 	public navigateRelativeTo(relativePath: string, relativeTo: ActivatedRoute): void {
@@ -102,23 +125,38 @@ export class NavigationService {
 	}
 
 	public search(searchString: string): void {
-		this.router.navigate([this.getRootPath() + 'search/', encodeURI(searchString)]);//TODO: encoding/decoding abstimmen
+		this.router.navigate([this.getRootPath() + NavigationService.URL_PARAM_SEARCH + '/', encodeURI(searchString)]);//TODO: encoding/decoding abstimmen
 	}
 
 	public navigateToVorgangList(): void {
 		this.router.navigate([this.getRootPath()]);
 	}
 
-	private getRootPath(): string {
-		return this.isMyVorgaengeNavigation() ? '/myVorgaenge/' : '/';
+	public getRootPath(): string {
+		return this.isMyVorgaengeNavigation()
+			? NavigationService.MY_VORGAENGE_PATH
+			: NavigationService.ROOT_PATH;
 	}
 
 	public isMyVorgaengeNavigation(): boolean {
 		const url: string = this.router.url;
-		return url.includes('myVorgaenge');
+		return url.includes(NavigationService.URL_PARAM_MY_VORGAENGE);
 	}
 
 	public navigateToVorgang(linkUri: ResourceUri): void {
-		this.router.navigate(['/', 'vorgang', linkUri]);
+		this.router.navigate([NavigationService.ROOT_PATH, NavigationService.URL_PARAM_MY_VORGANG, linkUri]);
+	}
+
+	public getSelectedItem(): Observable<NavigationItem> {
+		return this.selectedItem.asObservable();
 	}
+
+	public setSelectedItem(item: NavigationItem): void {
+		this.selectedItem.next(item);
+	}
+}
+
+export enum NavigationItem {
+	ALL_VORGAENGE,
+	MY_VORGAENGE
 }
\ No newline at end of file
diff --git a/goofy-client/libs/tech-shared/src/lib/tech.util.ts b/goofy-client/libs/tech-shared/src/lib/tech.util.ts
index bb77b80f25ae72776ccafd95fd463de5529e8d79..9851e8e938fa2bb6428559a4f06143acc0b976d2 100644
--- a/goofy-client/libs/tech-shared/src/lib/tech.util.ts
+++ b/goofy-client/libs/tech-shared/src/lib/tech.util.ts
@@ -2,6 +2,7 @@ import { isEmpty, isNil } from 'lodash-es';
 import { ApiError } from './tech.model';
 
 export const EMPTY_STRING = '';
+export const EMPTY_ARRAY = [];
 
 export function getBaseUrl(): string {
 	const { protocol, host, } = window.location;
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.html b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..7d39a34ac3129a75a91c7ac0f191d05cfe14d256
--- /dev/null
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.html
@@ -0,0 +1 @@
+<goofy-client-vorgang-detail-back-button [selectedItem]="selectedNavigationItem$ | async"></goofy-client-vorgang-detail-back-button>
\ No newline at end of file
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.scss b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.spec.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1c2dd3747b0831a0e73a7c938aacb59ecc932d20
--- /dev/null
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.spec.ts
@@ -0,0 +1,47 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { NavigationService } from '@goofy-client/tech-shared';
+import { mock } from '@goofy-client/test-utils';
+import { MockComponent } from 'ng-mocks';
+import { VorgangDetailBackButtonContainerComponent } from './vorgang-detail-back-button-container.component';
+import { VorgangDetailBackButtonComponent } from './vorgang-detail-back-button/vorgang-detail-back-button.component';
+
+describe('VorgangDetailBackButtonContainerComponent', () => {
+	let component: VorgangDetailBackButtonContainerComponent;
+	let fixture: ComponentFixture<VorgangDetailBackButtonContainerComponent>;
+
+	const navigationService = mock(NavigationService);
+
+	beforeEach(async () => {
+		await TestBed.configureTestingModule({
+			declarations: [
+				VorgangDetailBackButtonContainerComponent,
+				MockComponent(VorgangDetailBackButtonComponent)
+			],
+			providers: [
+				{
+					provide: NavigationService,
+					useValue: navigationService
+				}
+			]
+		}).compileComponents();
+	});
+
+	beforeEach(() => {
+		fixture = TestBed.createComponent(VorgangDetailBackButtonContainerComponent);
+		component = fixture.componentInstance;
+		fixture.detectChanges();
+	});
+
+	it('should create', () => {
+		expect(component).toBeTruthy();
+	});
+
+	describe('ngOnInit', () => {
+
+		it('should call navigation service getSelectedItem', () => {
+			component.ngOnInit();
+
+			expect(navigationService.getSelectedItem).toHaveBeenCalled();
+		})
+	})
+});
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..02b600e148dae268da25eebe5dad6cb7d2d0dd93
--- /dev/null
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component.ts
@@ -0,0 +1,19 @@
+import { Component, OnInit } from '@angular/core';
+import { NavigationItem, NavigationService } from '@goofy-client/tech-shared';
+import { Observable } from 'rxjs';
+
+@Component({
+	selector: 'goofy-client-vorgang-detail-back-button-container',
+	templateUrl: './vorgang-detail-back-button-container.component.html',
+	styleUrls: ['./vorgang-detail-back-button-container.component.scss']
+})
+export class VorgangDetailBackButtonContainerComponent implements OnInit {
+
+	selectedNavigationItem$: Observable<NavigationItem>;
+
+	constructor(private navigationService: NavigationService) { }
+
+	ngOnInit(): void {
+		this.selectedNavigationItem$ = this.navigationService.getSelectedItem();
+	}
+}
\ No newline at end of file
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.html b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..ad8a04ed951a19f5a650c116a6f3c7b44d07f92e
--- /dev/null
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.html
@@ -0,0 +1,3 @@
+<a [routerLink]="buildRouterLink()" mat-icon-button data-test-id="back-button" class="back-button" aria-label="zurück zur Vorgangsliste" matTooltip="zurück zur Vorgangsliste">
+	<mat-icon>arrow_back</mat-icon>
+</a>
\ No newline at end of file
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.scss b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.spec.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..cb4df7e7799d54f675a98b2982a44ff7225e027f
--- /dev/null
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.spec.ts
@@ -0,0 +1,51 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { MatIcon } from '@angular/material/icon';
+import { RouterTestingModule } from '@angular/router/testing';
+import { NavigationItem, NavigationService } from '@goofy-client/tech-shared';
+import { VorgangDetailBackButtonComponent } from './vorgang-detail-back-button.component';
+
+describe('VorgangDetailBackButtonComponent', () => {
+	let component: VorgangDetailBackButtonComponent;
+	let fixture: ComponentFixture<VorgangDetailBackButtonComponent>;
+
+	beforeEach(async () => {
+		await TestBed.configureTestingModule({
+			declarations: [
+				MatIcon,
+				VorgangDetailBackButtonComponent
+			],
+			imports: [
+				RouterTestingModule
+			],
+		}).compileComponents();
+	});
+
+	beforeEach(() => {
+		fixture = TestBed.createComponent(VorgangDetailBackButtonComponent);
+		component = fixture.componentInstance;
+		fixture.detectChanges();
+	});
+
+	it('should create', () => {
+		expect(component).toBeTruthy();
+	});
+
+	describe('buildRouterUrl', () => {
+
+		it('should return on myVorgaenge', () => {
+			component.selectedItem = NavigationItem.MY_VORGAENGE;
+
+			var routerUrl: String = component.buildRouterLink();
+
+			expect(routerUrl).toBe(NavigationService.MY_VORGAENGE_PATH);
+		})
+
+		it('should return on allVorgaenge', () => {
+			component.selectedItem = NavigationItem.ALL_VORGAENGE;
+
+			var routerUrl: String = component.buildRouterLink();
+
+			expect(routerUrl).toBe(NavigationService.ROOT_PATH);
+		})
+	})
+})
\ No newline at end of file
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8766b9c9f6493746826ed13ad3cc99db82571d13
--- /dev/null
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component.ts
@@ -0,0 +1,18 @@
+import { Component, Input } from '@angular/core';
+import { NavigationItem, NavigationService } from '@goofy-client/tech-shared';
+
+@Component({
+	selector: 'goofy-client-vorgang-detail-back-button',
+	templateUrl: './vorgang-detail-back-button.component.html',
+	styleUrls: ['./vorgang-detail-back-button.component.scss']
+})
+export class VorgangDetailBackButtonComponent {
+
+	@Input() selectedItem: NavigationItem;
+
+	buildRouterLink(): string {
+		return this.selectedItem === NavigationItem.ALL_VORGAENGE
+			? NavigationService.ROOT_PATH
+			: NavigationService.MY_VORGAENGE_PATH;
+	}
+}
\ No newline at end of file
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.html b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.html
index ae68650c33c1a8bce8c5f165c787418bf5611164..5e8ecaaa94dbfd9a031161240945412b77654320 100644
--- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.html
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.html
@@ -1,9 +1,7 @@
 <ng-container *ngIf="vorgangStateResource$ | async as vorgangStateResource">
 
 	<goofy-client-subnavigation class="mat-app-background">
-		<a routerLink="/" mat-icon-button data-test-id="back-button" class="back-button" aria-label="zurück zur Vorgangsliste" matTooltip="zurück zur Vorgangsliste">
-			<mat-icon>arrow_back</mat-icon>
-		</a>
+		<goofy-client-vorgang-detail-back-button-container></goofy-client-vorgang-detail-back-button-container>
 		<goofy-client-vorgang-detail-action-buttons [vorgangWithEingang]="vorgangStateResource.resource"></goofy-client-vorgang-detail-action-buttons>
 	</goofy-client-subnavigation>
 
@@ -13,4 +11,4 @@
 
 </ng-container>
 
-<goofy-client-progress-bar data-test-id="progress-bar" [stateResource]="revokeCommandStateResource$ | async"></goofy-client-progress-bar>
+<goofy-client-progress-bar data-test-id="progress-bar" [stateResource]="revokeCommandStateResource$ | async"></goofy-client-progress-bar>
\ No newline at end of file
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.spec.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.spec.ts
index e30603e0b76d2e47c4f3c66cb52fc200f7198223..61a76f95fab4364a9b6fd6b7174b0c9e067579ad 100644
--- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.spec.ts
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.spec.ts
@@ -11,6 +11,7 @@ import { Subject } from 'rxjs';
 import { VorgangDetailActionButtonsComponent } from './vorgang-detail-area/vorgang-detail-action-buttons/vorgang-detail-action-buttons.component';
 import { VorgangDetailAreaComponent } from './vorgang-detail-area/vorgang-detail-area.component';
 import { VorgangDetailFormularButtonsComponent } from './vorgang-detail-area/vorgang-detail-formular-buttons/vorgang-detail-formular-buttons.component';
+import { VorgangDetailBackButtonContainerComponent } from './vorgang-detail-back-button-container/vorgang-detail-back-button-container.component';
 import { VorgangDetailPageComponent } from './vorgang-detail-page.component';
 
 describe('VorgangDetailPageComponent', () => {
@@ -34,7 +35,8 @@ describe('VorgangDetailPageComponent', () => {
 				MockComponent(SubnavigationComponent),
 				MockComponent(VorgangDetailAreaComponent),
 				MockComponent(VorgangDetailActionButtonsComponent),
-				MockComponent(VorgangDetailFormularButtonsComponent)
+				MockComponent(VorgangDetailFormularButtonsComponent),
+				MockComponent(VorgangDetailBackButtonContainerComponent)
 			],
 			providers: [
 				{
diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
index f77e5ae51d158b2da8ef4615f5850860020e2b71..a2f10b7d7e812eaffd71fe1cc75a0bd596eac638 100644
--- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
+++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts
@@ -22,14 +22,16 @@ import { WiedereroeffnenButtonComponent } from './buttons/wiedereroeffnen-button
 import { ZurueckholenButtonComponent } from './buttons/zurueckholen-button/zurueckholen-button.component';
 import { ZurueckstellenButtonComponent } from './buttons/zurueckstellen-button/zurueckstellen-button.component';
 import { VorgangDetailActionButtonsComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-action-buttons/vorgang-detail-action-buttons.component';
+import { VorgangDetailAntragstellerComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component';
 import { VorgangDetailAreaComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component';
 import { EingangHeaderComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-body/eingang-header/eingang-header.component';
 import { FormDataTableComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-body/form-data-table/form-data-table.component';
 import { VorgangDetailBodyComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-body/vorgang-detail-body.component';
 import { VorgangDetailFormularButtonsComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-buttons/vorgang-detail-formular-buttons.component';
 import { VorgangDetailHeaderComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component';
+import { VorgangDetailBackButtonContainerComponent } from './vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button-container.component';
+import { VorgangDetailBackButtonComponent } from './vorgang-detail-page/vorgang-detail-back-button-container/vorgang-detail-back-button/vorgang-detail-back-button.component';
 import { VorgangDetailPageComponent } from './vorgang-detail-page/vorgang-detail-page.component';
-import { VorgangDetailAntragstellerComponent } from './vorgang-detail-page/vorgang-detail-area/vorgang-detail-antragsteller/vorgang-detail-antragsteller.component';
 
 const routes: Routes = [
 	{
@@ -72,10 +74,12 @@ const routes: Routes = [
 		AbschliessenButtonComponent,
 		ZurueckstellenButtonComponent,
 		WiedereroeffnenButtonComponent,
-  VorgangDetailAntragstellerComponent,
+		VorgangDetailAntragstellerComponent,
+		VorgangDetailBackButtonComponent,
+		VorgangDetailBackButtonContainerComponent,
 	],
 	exports: [
-   VorgangDetailAntragstellerComponent
+		VorgangDetailAntragstellerComponent
 	]
 })
 export class VorgangDetailModule { }
diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.util.spec.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.util.spec.ts
index 7364b60f4f757dd57d56fb98680d382aa73fdca0..17735820624cd875aaee8ab7d1bd04a525b52789 100644
--- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.util.spec.ts
+++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.util.spec.ts
@@ -1,8 +1,8 @@
-import { CommandListResource, CommandResource, CreateCommand, getPendingCommandByOrder } from '@goofy-client/command-shared';
-import { createCommandListResource, createCommandResource } from 'libs/command-shared/test/command';
-import { createVorgangForwardRequest } from 'libs/vorgang-shared/test/vorgang';
-import { ForwardRequest, VorgangOrder } from './vorgang.model';
-import { createAbschliessenCommand, createAnnehmenCommand, createBearbeitenCommand, createBescheidenCommand, createForwardCommand, createVerwerfenCommand, createZurueckholenCommand, createZurueckstellenCommand } from './vorgang.util';
+import { CreateCommand } from '@goofy-client/command-shared';
+import { createVorgangForwardRequest, createVorgangListResource } from 'libs/vorgang-shared/test/vorgang';
+import { VorgangListLinkRel } from './vorgang.linkrel';
+import { ForwardRequest, VorgangOrder, VorgangResource } from './vorgang.model';
+import { createAbschliessenCommand, createAnnehmenCommand, createBearbeitenCommand, createBescheidenCommand, createForwardCommand, createVerwerfenCommand, createZurueckholenCommand, createZurueckstellenCommand, getVorgaengeFromList } from './vorgang.util';
 
 describe('VorgangUtil', () => {
 
@@ -80,23 +80,18 @@ describe('VorgangUtil', () => {
 		})
 	})
 
-	describe('getPendingForwardCommand', () => {
+	describe('getVorgaengeFromList', () => {
 
-		it('should return null on non existing pending command', () => {
-			const listResource: CommandListResource = createCommandListResource();
+		it('should return empty array on null', () => {
+			var result: VorgangResource[] = getVorgaengeFromList(null);
 
-			const pendingCommand: CommandResource = getPendingCommandByOrder(listResource, VorgangOrder.FORWARD);
-
-			expect(pendingCommand).toBeNull();
+			expect(result.length).toBe(0);
 		})
 
-		it('should return existing pending command', () => {
-			const pendingForwardCommand: CommandResource = { ...createCommandResource(), order: VorgangOrder.FORWARD };
-			const listResource: CommandListResource = createCommandListResource([pendingForwardCommand]);
-
-			const pendingCommand: CommandResource = getPendingCommandByOrder(listResource, VorgangOrder.FORWARD);
+		it('should return content as array', () => {
+			var result: VorgangResource[] = getVorgaengeFromList(createVorgangListResource([VorgangListLinkRel.VORGANG_HEADER_LIST]));
 
-			expect(pendingCommand).toBe(pendingForwardCommand);
+			expect(result.length).toBe(10);
 		})
 	})
 })
\ No newline at end of file
diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.util.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.util.ts
index 828b523c18ce2b4909ac88b4841bc435ee40843a..829c71adfb40446a8008f9aeab711ad82c9c22c9 100644
--- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.util.ts
+++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.util.ts
@@ -1,6 +1,7 @@
-import { UrlSegment } from '@angular/router';
 import { CreateCommand } from '@goofy-client/command-shared';
+import { EMPTY_ARRAY, isNotNil } from '@goofy-client/tech-shared';
 import { getEmbeddedResource } from '@ngxp/rest';
+import { isNull } from 'lodash-es';
 import { VorgangListLinkRel } from './vorgang.linkrel';
 import { CreateForwardCommand, ForwardRequest, VorgangListResource, VorgangOrder, VorgangResource } from './vorgang.model';
 
@@ -40,14 +41,18 @@ export function createForwardCommand(redirectRequest: ForwardRequest): CreateFor
 	return { order: VorgangOrder.FORWARD, redirectRequest, body: null };
 }
 
-export function isNotVorgangDetailPage(urlSegements: UrlSegment[]): boolean {
+/* export function isNotVorgangDetailPage(urlSegements: UrlSegment[]): boolean {
 	return (urlSegements.length < 2) || (urlSegements[0].path !== 'vorgang')
 }
 
 export function isNotVorgangListPage(urlSegements: UrlSegment[]): boolean {
 	return urlSegements.length !== 0;
-}
+} */
 
 export function getVorgaengeFromList(vorgangList: VorgangListResource): VorgangResource[] {
-	return getEmbeddedResource(vorgangList, VorgangListLinkRel.VORGANG_HEADER_LIST);
+	if (isNotNil(vorgangList)) {
+		const embeddedResource: VorgangResource[] = getEmbeddedResource(vorgangList, VorgangListLinkRel.VORGANG_HEADER_LIST);
+		return isNull(embeddedResource) ? EMPTY_ARRAY : embeddedResource;
+	}
+	return EMPTY_ARRAY;
 }
\ No newline at end of file
diff --git a/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts b/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts
index 1aeab7d5c7bc4a5a5cb804a7918148a3ef0aeed1..8995a2c89953e923b80388278afd248d0fcd6be9 100644
--- a/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts
+++ b/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.spec.ts
@@ -20,7 +20,7 @@ import { WiedervorlageRepository } from './wiedervorlage.repository';
 import { WiedervorlageService } from './wiedervorlage.service';
 
 describe('WiedervorlageService', () => {
-	let service;
+	let service: WiedervorlageService;
 	let repository: Mock<WiedervorlageRepository>;
 	let navigationService: Mock<NavigationService>;
 	let commandService: Mock<CommandService>;
@@ -137,11 +137,11 @@ describe('WiedervorlageService', () => {
 		})
 
 		it('should set submit-in-progress on loading', () => {
-			service.setSubmitInProgressLoading = jest.fn();
+			(<any>service).setSubmitInProgressLoading = jest.fn();
 
-			service.saveWiedervorlage(wiedervorlage);
+			service.saveWiedervorlage(wiedervorlageResource, wiedervorlage);
 
-			expect(service.setSubmitInProgressLoading).toHaveBeenCalled();
+			expect((<any>service).setSubmitInProgressLoading).toHaveBeenCalled();
 		})
 
 		it('should call proceedAfterRecieveCommand', () => {
@@ -169,11 +169,11 @@ describe('WiedervorlageService', () => {
 		})
 
 		it('should set submit-in-progress on loading', () => {
-			service.setSubmitInProgressLoading = jest.fn();
+			(<any>service).setSubmitInProgressLoading = jest.fn();
 
 			service.createWiedervorlage(wiedervorlage);
 
-			expect(service.setSubmitInProgressLoading).toHaveBeenCalled();
+			expect((<any>service).setSubmitInProgressLoading).toHaveBeenCalled();
 		})
 
 		it('should call command service', () => {
@@ -222,8 +222,8 @@ describe('WiedervorlageService', () => {
 
 		beforeEach(() => {
 			commandService.createCommand.mockReturnValue(of(createStateResource(commandResourceWithEffectedResourceLink)));
-			service.reloadWiedervorlageList = jest.fn();
-			service.loadAndSetWiedervorlageByUrl = jest.fn();
+			(<any>service).reloadWiedervorlageList = jest.fn();
+			(<any>service).loadAndSetWiedervorlageByUrl = jest.fn();
 
 			service.wiedervorlage$.next(createStateResource(wiedervorlageResource));
 		})
@@ -239,7 +239,7 @@ describe('WiedervorlageService', () => {
 			it('should reload wiedervorlage', () => {
 				service.erledigen();
 
-				expect(service.loadAndSetWiedervorlageByUrl).toHaveBeenCalled();
+				expect((<any>service).loadAndSetWiedervorlageByUrl).toHaveBeenCalled();
 			})
 
 			it('should show snackbar', () => {
@@ -260,7 +260,7 @@ describe('WiedervorlageService', () => {
 			it('should reload wiedervorlage', () => {
 				service.wiedereroeffnen();
 
-				expect(service.loadAndSetWiedervorlageByUrl).toHaveBeenCalled();
+				expect((<any>service).loadAndSetWiedervorlageByUrl).toHaveBeenCalled();
 			});
 
 			it('should show snackbar', () => {
@@ -295,10 +295,10 @@ describe('WiedervorlageService', () => {
 	describe('on navigation', () => {
 
 		beforeEach(() => {
-			service.navigateToVorgangDetailPage = jest.fn();
+			(<any>service).navigateToVorgangDetailPage = jest.fn();
 
 			service.setWiedervorlageListReload = jest.fn();
-			service.forceWiedervorlageReload = jest.fn();
+			(<any>service).forceWiedervorlageReload = jest.fn();
 			service.clearAttachmentList = jest.fn();
 			service.clearWiedervorlagenList = jest.fn();
 		})
@@ -306,7 +306,7 @@ describe('WiedervorlageService', () => {
 		describe('to vorgang detail', () => {
 
 			beforeEach(() => {
-				service.navigateToVorgangDetailPage.mockReturnValue(true);
+				(<any>service).navigateToVorgangDetailPage.mockReturnValue(true);
 			})
 
 			it('should set wiedervorlage list on reload', () => {
@@ -318,7 +318,7 @@ describe('WiedervorlageService', () => {
 			it('should set wiedervorlage on reload', () => {
 				service.onNavigation({});
 
-				expect(service.forceWiedervorlageReload).toHaveBeenCalled();
+				expect((<any>service).forceWiedervorlageReload).toHaveBeenCalled();
 			})
 
 			it('should clear attachments', () => {
diff --git a/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.ts b/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.ts
index d64e63a8bc430e7c20e9ba22234e3e650fbeb643..ed94fba96c93641a06975d01c530df6e370e55e8 100644
--- a/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.ts
+++ b/goofy-client/libs/wiedervorlage-shared/src/lib/wiedervorlage.service.ts
@@ -117,7 +117,7 @@ export class WiedervorlageService implements OnDestroy {
 	onNavigation(params: Params): void {
 		if (this.navigateToVorgangDetailPage(params)) {
 			this.setWiedervorlageListReload();
-			this.forceWiedervorlageReload();//TODO: lieber clearen!?
+			this.forceWiedervorlageReload();
 			this.submitInProgress$.next(createEmptyStateResource());
 			this.clearAttachmentList();
 		}
@@ -277,7 +277,7 @@ export class WiedervorlageService implements OnDestroy {
 	}
 
 	public uploadFile(file: File): Observable<StateResource<OzgFileResource>> {
-		return this.binaryFileService.uploadFile(this.wiedervorlageList$.value.resource, WiedervorlageListLinkRel.UPLOAD_FILE, file).pipe(
+		return this.binaryFileService.uploadFileLegacy(this.wiedervorlageList$.value.resource, WiedervorlageListLinkRel.UPLOAD_FILE, file).pipe(
 			mergeMap(a => this.ozgFileService.getFile(a)),
 			startWith(createEmptyStateResource<OzgFileResource>(true))
 		);