diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index fc99d55096dd726a87cc6675d0fa353a942d7aad..66ab49e75c7279e6eeca8ddd988298a751d6c945 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -15,6 +15,7 @@ import { FlexLayoutModule } from '@angular/flex-layout';
 import {
   MAT_DIALOG_DATA,
   MatAutocompleteModule,
+  MatBadgeModule,
   MatButtonModule,
   MatButtonToggleModule,
   MatCardModule,
@@ -65,6 +66,7 @@ import { RoomParticipantPageComponent } from './components/pages/room-participan
 import { DataStoreService } from './services/util/data-store.service';
 import { RoomCreatorPageComponent } from './components/pages/room-creator-page/room-creator-page.component';
 import { ContentListComponent } from './components/fragments/content-list/content-list.component';
+import { ContentGroupsComponent } from './components/fragments/content-groups/content-groups.component';
 import { ContentService } from './services/http/content.service';
 import { AnswersListComponent } from './components/fragments/answers-list/answers-list.component';
 import { ContentAnswerService } from './services/http/content-answer.service';
@@ -75,9 +77,7 @@ import { UserActivationComponent } from './components/dialogs/user-activation/us
 import { ContentChoiceParticipantComponent } from './components/fragments/content-choice-participant/content-choice-participant.component';
 import { ContentChoiceCreatorComponent } from './components/fragments/content-choice-creator/content-choice-creator.component';
 import { ContentCreatePageComponent } from './components/pages/content-create-page/content-create-page.component';
-import {
-  ContentCarouselPageComponent
-} from './components/pages/content-carousel-page/content-carousel-page.component';
+import { ContentCarouselPageComponent } from './components/pages/content-carousel-page/content-carousel-page.component';
 import { ContentTextParticipantComponent } from './components/fragments/content-text-participant/content-text-participant.component';
 import { ContentTextCreatorComponent } from './components/fragments/content-text-creator/content-text-creator.component';
 import { AuthenticationInterceptor } from './interceptors/authentication.interceptor';
@@ -114,6 +114,7 @@ export function dialogClose(dialogResult: any) {
     RegisterComponent,
     RoomCreateComponent,
     RoomListComponent,
+    ContentGroupsComponent,
     HomeCreatorPageComponent,
     CommentCreatePageComponent,
     HomeParticipantPageComponent,
@@ -171,6 +172,7 @@ export function dialogClose(dialogResult: any) {
     HttpClientModule,
     MarkdownModule.forRoot(),
     MatAutocompleteModule,
+    MatBadgeModule,
     MatButtonModule,
     MatButtonToggleModule,
     MatCardModule,
diff --git a/src/app/components/fragments/content-groups/content-groups.component.html b/src/app/components/fragments/content-groups/content-groups.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..37abd9e9b7d72f9a4fb36abe4d30fae89d1e564c
--- /dev/null
+++ b/src/app/components/fragments/content-groups/content-groups.component.html
@@ -0,0 +1,8 @@
+
+    <mat-card *ngFor="let contentGroup of displayedContentGroups">
+      <mat-card-header>
+        <mat-card-title>
+          <h4>{{contentGroup.name}}<mat-icon matBadge="{{contentGroup.contentIds.length}}" matBadgePosition="after"></mat-icon></h4>
+        </mat-card-title>
+      </mat-card-header>
+    </mat-card>
diff --git a/src/app/components/fragments/content-groups/content-groups.component.scss b/src/app/components/fragments/content-groups/content-groups.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/app/components/fragments/content-groups/content-groups.component.ts b/src/app/components/fragments/content-groups/content-groups.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..483aa103ee790b9fb30ed6352fc040f6eb16663d
--- /dev/null
+++ b/src/app/components/fragments/content-groups/content-groups.component.ts
@@ -0,0 +1,45 @@
+import { Component, Input, OnInit} from '@angular/core';
+
+class ContentGroup {
+  name: string;
+  contentIds: string[];
+  autoSort: boolean;
+
+  constructor(name: string, contentIds: string[], autoSort: boolean) {
+    this.name = name;
+    this.contentIds = contentIds;
+    this.autoSort = autoSort;
+  }
+}
+
+@Component({
+  selector: 'app-content-groups',
+  templateUrl: './content-groups.component.html',
+  styleUrls: ['./content-groups.component.scss']
+})
+export class ContentGroupsComponent implements OnInit {
+
+  @Input() public contentGroups: {[key: string]: [string]};
+  displayedContentGroups: ContentGroup[] = [];
+
+  constructor () {
+  }
+
+  ngOnInit() {
+    Object.keys(this.contentGroups).forEach(key => {
+      if (key === '') {
+        const cg = new ContentGroup(
+          'Default Content Group',
+          this.contentGroups[key]['contentIds'],
+          this.contentGroups[key]['autoSort']);
+        this.displayedContentGroups.push(cg);
+      } else {
+        const cg = new ContentGroup(
+          key,
+          this.contentGroups[key]['contentIds'],
+          this.contentGroups[key]['autoSort']);
+        this.displayedContentGroups.push(cg);
+      }
+    });
+  }
+}
diff --git a/src/app/components/pages/room-creator-page/room-creator-page.component.html b/src/app/components/pages/room-creator-page/room-creator-page.component.html
index 8608c4fba46e7547c7225686e7c7b6ae1421c0e6..8d5fc04aac58eb3d5be048d80c0d1fc9862e3889 100644
--- a/src/app/components/pages/room-creator-page/room-creator-page.component.html
+++ b/src/app/components/pages/room-creator-page/room-creator-page.component.html
@@ -1,4 +1,4 @@
-<div fxLayout="column" fxLayoutAlign="start" fxLayoutGap="20px" fxFill>
+<div fxLayout="column" fxLayoutAlign="center" fxLayoutGap="20px" fxFill>
   <div fxLayout="row" fxLayoutAlign="center">
     <mat-progress-spinner *ngIf="isLoading" mode="indeterminate"></mat-progress-spinner>
     <mat-card *ngIf="room">
@@ -19,7 +19,6 @@
         </p>
       </mat-card-content>
       <mat-divider></mat-divider>
-      <app-content-list></app-content-list>
       <mat-divider></mat-divider>
       <mat-card-actions>
         <button mat-button color="primary" matTooltip="Create new content"
@@ -45,7 +44,9 @@
           Delete room
         </button>
       </mat-card-actions>
+      <app-content-groups *ngIf="room" [contentGroups]="room.contentGroups"></app-content-groups>
     </mat-card>
     <div *ngIf="!isLoading && !room">Error: room could not be found!</div>
   </div>
 </div>
+
diff --git a/src/app/services/http/content.service.ts b/src/app/services/http/content.service.ts
index 9acf7e21fe6486c91ceffb9b5586c4b19766970a..9cfb93f7a9e2d58d2b1aa583dd39b032572f24ec 100644
--- a/src/app/services/http/content.service.ts
+++ b/src/app/services/http/content.service.ts
@@ -32,6 +32,14 @@ export class ContentService extends BaseHttpService {
     );
   }
 
+  getContentsByIds(ids: string[]): Observable<Content[]> {
+    const connectionUrl = this.apiUrl.base + this.apiUrl.content + ids.toString();
+    return this.http.get<Content[]>(connectionUrl).pipe(
+      tap(() => ''),
+      catchError(this.handleError('getContentsByIds', []))
+    );
+  }
+
   addContent(content: Content): Observable<Content> {
     delete content.id;
     delete content.revision;