diff --git a/src/app/centers/form/form.component.spec.ts b/src/app/centers/form/form.component.spec.ts
index 645b857..53686a6 100644
--- a/src/app/centers/form/form.component.spec.ts
+++ b/src/app/centers/form/form.component.spec.ts
@@ -18,7 +18,7 @@
  */
 import {ComponentFixture, TestBed} from '@angular/core/testing';
 import {Component, EventEmitter, ViewChild} from '@angular/core';
-import {Employee} from '../../services/office/domain/employee.model';
+import {Center} from '../../services/center/domain/center.model';
 import {CenterFormComponent, EmployeeFormData, EmployeeSaveEvent} from './form.component';
 import {User} from '../../services/identity/domain/user.model';
 import {TranslateModule} from '@ngx-translate/core';
@@ -30,7 +30,7 @@
 import {FimsSharedModule} from '../../common/common.module';
 import {MatIconModule, MatInputModule, MatOptionModule, MatSelectModule} from '@angular/material';
 
-const employeeTemplate: Employee = {
+const centerTemplate: Center = {
   identifier: 'test',
   givenName: 'test',
   middleName: 'test',
@@ -41,6 +41,7 @@
     value: 'test@test.de',
     preferenceLevel: 0
   }],
+
   assignedOffice: 'test'
 };
 
@@ -49,7 +50,7 @@
   role: 'test'
 };
 
-describe('Test employee form component', () => {
+describe('Test center form component', () => {
 
   let fixture: ComponentFixture<TestComponent>;
 
@@ -89,16 +90,16 @@
     fixture.detectChanges();
 
     testComponent.saveEmitter.subscribe((saveEvent: EmployeeSaveEvent) => {
-      expect(employeeTemplate.identifier).toEqual(saveEvent.detailForm.identifier);
-      expect(employeeTemplate.givenName).toEqual(saveEvent.detailForm.firstName);
-      expect(employeeTemplate.middleName).toEqual(saveEvent.detailForm.middleName);
-      expect(employeeTemplate.surname).toEqual(saveEvent.detailForm.lastName);
+      expect(centerTemplate.identifier).toEqual(saveEvent.detailForm.identifier);
+      expect(centerTemplate.givenName).toEqual(saveEvent.detailForm.firstName);
+      expect(centerTemplate.middleName).toEqual(saveEvent.detailForm.middleName);
+      expect(centerTemplate.surname).toEqual(saveEvent.detailForm.lastName);
       expect(saveEvent.detailForm.password).toEqual('');
 
-      expect(employeeTemplate.assignedOffice).toEqual(saveEvent.officeForm.assignedOffice);
+      expect(centerTemplate.assignedOffice).toEqual(saveEvent.officeForm.assignedOffice);
 
-      expect(employeeTemplate.contactDetails.length).toEqual(1);
-      expect(employeeTemplate.contactDetails[0].value).toEqual(saveEvent.contactForm.email);
+      expect(centerTemplate.contactDetails.length).toEqual(1);
+      expect(centerTemplate.contactDetails[0].value).toEqual(saveEvent.contactForm.email);
 
       expect(userTemplate.role).toEqual(saveEvent.detailForm.role);
     });
@@ -110,17 +111,17 @@
 
 @Component({
   template: `
-    <fims-employee-form-component #form (onSave)="onSave($event)" (onCancel)="onCancel($event)" [formData]="employeeFormData">
-    </fims-employee-form-component>`
+    <fims-center-form-component #form (onSave)="onSave($event)" (onCancel)="onCancel($event)" [formData]="employeeFormData">
+    </fims-center-form-component>`
 })
 class TestComponent {
 
   saveEmitter = new EventEmitter<EmployeeSaveEvent>();
 
-  @ViewChild('form') formComponent: EmployeeFormComponent;
+  @ViewChild('form') formComponent: CenterFormComponent;
 
   employeeFormData: EmployeeFormData = {
-    employee: employeeTemplate,
+    employee: centerTemplate,
     user: userTemplate
   };
 
diff --git a/src/app/centers/form/form.component.ts b/src/app/centers/form/form.component.ts
index 4c2d42c..eea9635 100644
--- a/src/app/centers/form/form.component.ts
+++ b/src/app/centers/form/form.component.ts
@@ -62,6 +62,13 @@
 })
 export class CenterFormComponent implements OnInit {
 
+  staffs = [
+    {value: '', viewValue: ''},
+    
+  ];
+
+
+
   offices: Observable<Office[]>;
 
   roles: Observable<Role[]>;
@@ -77,7 +84,7 @@
   @Input('formData') set formData(formData: EmployeeFormData) {
     this.prepareDetailForm(formData.employee, formData.user);
     this.prepareOfficeForm(formData.employee);
-    this.prepareContactForm(formData.employee.contactDetails);
+   // this.prepareContactForm(formData.employee.contactDetails);
   }
 
   @Output('onSave') onSave = new EventEmitter<EmployeeSaveEvent>();
@@ -107,7 +114,7 @@
     this.detailForm = this.formBuilder.group({
       identifier: [employee.identifier, [Validators.required, Validators.minLength(3), Validators.maxLength(32), FimsValidators.urlSafe]],
       firstName: [employee.givenName, [Validators.required, Validators.maxLength(256)]],
-      middleName: [employee.middleName, Validators.maxLength(256)],
+     middleName: [employee.middleName, Validators.maxLength(256)],
       lastName: [employee.surname, [Validators.required, Validators.maxLength(256)]],
       password: ['', passwordValidators],
       role: [user ? user.role : '', Validators.required]
@@ -159,6 +166,7 @@
     });
   }
 
+
   cancel(): void {
     this.onCancel.emit();
   }
diff --git a/src/app/collection/collection.component.html b/src/app/collection/collection.component.html
index 62e6477..909cf2d 100644
--- a/src/app/collection/collection.component.html
+++ b/src/app/collection/collection.component.html
@@ -1,8 +1,5 @@
-<fims-layout-card-over title="{{'Collection sheet' | translate}}">
-    <fims-layout-card-over-header-menu>
-      <td-search-box #searchBox placeholder="{{'Search' | translate}}" (search)="search($event)" [alwaysVisible]="false"></td-search-box>
-    </fims-layout-card-over-header-menu>
-   
+<fims-layout-card-over title="{{'Collection sheet'}}">
+ 
     <mat-form-field>
       <mat-select placeholder="Select office">
         <mat-option *ngFor="let office of offices" [value]="office.value">
diff --git a/src/app/collection/collection.component.spec.ts b/src/app/collection/collection.component.spec.ts
index ff1d68f..a22dfe2 100644
--- a/src/app/collection/collection.component.spec.ts
+++ b/src/app/collection/collection.component.spec.ts
@@ -1,14 +1,36 @@
 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
 
 import { CollectionComponent } from './collection.component';
+import {FimsSharedModule} from '.././common/common.module';
+import {MatIconModule, MatInputModule, MatOptionModule, MatSelectModule} from '@angular/material';
+import {ReactiveFormsModule} from '@angular/forms';
+import {CovalentStepsModule} from '@covalent/core';
+import {NoopAnimationsModule} from '@angular/platform-browser/animations';
+import {TranslateModule} from '@ngx-translate/core';
 
-describe('CenterComponent', () => {
+
+
+describe('CollectionComponent', () => {
   let component: CollectionComponent;
   let fixture: ComponentFixture<CollectionComponent>;
 
   beforeEach(async(() => {
     TestBed.configureTestingModule({
-      declarations: [ CollectionComponent ]
+      declarations: [ CollectionComponent ],
+
+      imports: [
+        TranslateModule.forRoot(),
+        FimsSharedModule,
+        ReactiveFormsModule,
+        MatSelectModule,
+        MatOptionModule,
+        MatIconModule,
+        MatInputModule,
+        CovalentStepsModule,
+        NoopAnimationsModule,
+        
+
+      ],
     })
     .compileComponents();
   }));
diff --git a/src/app/collection/collection.component.ts b/src/app/collection/collection.component.ts
index e338269..13e854d 100644
--- a/src/app/collection/collection.component.ts
+++ b/src/app/collection/collection.component.ts
@@ -1,12 +1,30 @@
 import {Component, OnInit} from '@angular/core';
-import {ActivatedRoute, Params, Router} from '@angular/router';
-import {Employee} from '../services/office/domain/employee.model';
-import {FetchRequest} from '../services/domain/paging/fetch-request.model';
-import {TableData} from '../common/data-table/data-table.component';
+
 import {Store} from '@ngrx/store';
 import * as fromRoot from '../store';
 import {Observable} from 'rxjs/Observable';
-import {SEARCH} from '../store/employee/employee.actions';
+
+
+
+export interface Office {
+  value: string;
+  viewValue: string;
+}
+
+export interface Staff {
+  value: string;
+  viewValue: string;
+}
+
+export interface Center {
+  value: string;
+  viewValue: string;
+}
+
+export interface Group {
+  value: string;
+  viewValue: string;
+}
 
 
 
@@ -16,8 +34,31 @@
   styleUrls: ['./collection.component.scss']
 })
 export class CollectionComponent implements OnInit {
+
+  offices: Office[] = [
+    {value: '', viewValue: ''},
+    
+  ];
+
+  staffs: Staff[] = [
+    {value: '', viewValue: ''},
+    
+  ];
+
+  centers: Center[] = [
+    {value: '', viewValue: ''},
+    
+  ];
+
+  groups: Group[] = [
+    {value: '', viewValue: ''},
+    
+  ];
+
+
+
   
-  employeeData$: Observable<TableData>;
+ 
 
   loading$: Observable<boolean>;
 
@@ -31,42 +72,22 @@
 
   searchTerm: string;
 
-  private lastFetchRequest: FetchRequest = {};
+ 
 
-  constructor(private router: Router, private route: ActivatedRoute, private store: Store<fromRoot.State>) {}
+  constructor( private store: Store<fromRoot.State>) {}
 
   ngOnInit(): void {
 
-    this.employeeData$ = this.store.select(fromRoot.getEmployeeSearchResults)
-      .map(employeePage => ({
-        data: employeePage.employees,
-        totalElements: employeePage.totalElements,
-        totalPages: employeePage.totalPages
-      }));
-
+  
     this.loading$ = this.store.select(fromRoot.getEmployeeSearchLoading);
 
-    this.route.queryParams.subscribe((params: Params) => {
-      this.search(params['term']);
-    });
+   
   }
 
   search(searchTerm: string): void {
     this.searchTerm = searchTerm;
-    this.fetchEmployees();
+    
   }
 
-  rowSelect(row: Employee): void {
-    this.router.navigate(['detail', row.identifier], { relativeTo: this.route });
-  }
-
-  fetchEmployees(fetchRequest?: FetchRequest) {
-    if (fetchRequest) {
-      this.lastFetchRequest = fetchRequest;
-    }
-
-    this.lastFetchRequest.searchTerm = this.searchTerm;
-
-    this.store.dispatch({ type: SEARCH, payload: this.lastFetchRequest });
-  }
+  
 }
diff --git a/src/app/collection/collection.module.ts b/src/app/collection/collection.module.ts
index 6dc14a9..96d874f 100644
--- a/src/app/collection/collection.module.ts
+++ b/src/app/collection/collection.module.ts
@@ -15,7 +15,8 @@
   MatListModule,
   MatOptionModule,
   MatSelectModule,
-  MatToolbarModule
+  MatToolbarModule,
+  MatFormFieldModule
 } from '@angular/material';
 import {CovalentSearchModule, CovalentStepsModule} from '@covalent/core';
 import {TranslateModule} from '@ngx-translate/core';
@@ -38,6 +39,7 @@
     MatSelectModule,
     CovalentSearchModule,
     CovalentStepsModule,
+    MatFormFieldModule
 
   ],
   declarations: [
diff --git a/src/app/common/common.module.ts b/src/app/common/common.module.ts
index 88a67d6..12c187d 100644
--- a/src/app/common/common.module.ts
+++ b/src/app/common/common.module.ts
@@ -50,7 +50,8 @@
   MatSelectModule,
   MatSnackBarModule,
   MatToolbarModule,
-  MatTooltipModule
+  MatTooltipModule,
+  MatFormFieldModule
 } from '@angular/material';
 import {EmployeeAutoCompleteComponent} from './employee-autocomplete/employee-auto-complete.component';
 import {TextMaskModule} from 'angular2-text-mask';
@@ -85,6 +86,7 @@
     MatSnackBarModule,
     MatToolbarModule,
     MatTooltipModule,
+    MatFormFieldModule,
     ReactiveFormsModule,
     TextMaskModule,
     TranslateModule
diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts
index 69e5038..f405627 100644
--- a/src/app/login/login.component.ts
+++ b/src/app/login/login.component.ts
@@ -37,6 +37,8 @@
 
   private loadingSubscription: Subscription;
 
+  hide: boolean;
+
   currentLanguage: string;
 
   languageOptions: any[] = [
diff --git a/src/app/services/center/center.service.ts b/src/app/services/center/center.service.ts
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/app/services/center/center.service.ts
diff --git a/src/app/services/center/domain/center.model.ts b/src/app/services/center/domain/center.model.ts
new file mode 100644
index 0000000..000702f
--- /dev/null
+++ b/src/app/services/center/domain/center.model.ts
@@ -0,0 +1,10 @@
+import {ContactDetail} from '../../domain/contact/contact-detail.model';
+
+export interface Center {
+  identifier: string;
+  givenName: string;
+  middleName?: string;
+  surname: string;
+  assignedOffice?: string;
+  contactDetails: ContactDetail[];
+}
\ No newline at end of file
diff --git a/src/app/services/office/domain/employee.model.ts b/src/app/services/office/domain/employee.model.ts
index 8350439..a308bf9 100644
--- a/src/app/services/office/domain/employee.model.ts
+++ b/src/app/services/office/domain/employee.model.ts
@@ -27,13 +27,4 @@
   contactDetails: ContactDetail[];
 }
 
-export interface Center {
-  identifier: string;
-  givenName: string;
-  middleName?: string;
-  surname: string;
-  assignedOffice?: string;
-  contactDetails: ContactDetail[];
-}
-
 
