diff --git a/src/app/access/access.action.ts b/src/app/access/access.action.ts
index 00476bdefeed59fc0023b7e8143c8803c7a36587..0c30311e8d5a37384d17d746a78832f5502d1515 100644
--- a/src/app/access/access.action.ts
+++ b/src/app/access/access.action.ts
@@ -1,4 +1,4 @@
-import {AipModel, DipModel} from '@app/generated-api';
+import {DipModel} from '@app/generated-api';
 import {CollectionTypedModel} from '@app/model/collection-typed.model';
 
 export class GetAllDip {
diff --git a/src/app/access/access.state.ts b/src/app/access/access.state.ts
index 8007718b210f166fe776178d9ee3b006b148a385..65fcb670349c876e6fbc88e08b6990ddf5d2f4e8 100644
--- a/src/app/access/access.state.ts
+++ b/src/app/access/access.state.ts
@@ -66,9 +66,9 @@ export class AccessState {
         tap((collectionDips: CollectionTypedModel<DipModel>) => {
           ctx.dispatch(new SearchDipSuccess(collectionDips));
         }),
-        catchError(e => {
+        catchError(error => {
           ctx.dispatch(new SearchDipFail());
-          throw e;
+          throw error;
         }),
       );
   }
diff --git a/src/app/access/views/access-view/access-view.component.html b/src/app/access/views/access-view/access-view.component.html
index f84f67dd28f9aead09791a311e980aed12b37d47..45f7add369116776ea18b1d2e9c31b6dafd44f42 100644
--- a/src/app/access/views/access-view/access-view.component.html
+++ b/src/app/access/views/access-view/access-view.component.html
@@ -1,6 +1,4 @@
-<form class="search-form">
-  <dlcm-search (value)="search($event)"></dlcm-search>
-</form>
+<dlcm-search (value)="search($event)"></dlcm-search>
 
 {{(dips$ | async) | json}}
 
diff --git a/src/app/access/views/access-view/access-view.component.ts b/src/app/access/views/access-view/access-view.component.ts
index d94b27fc035dccf3b47873506a8dcd5ef08db38d..8fceb828bc3abb176ef8ffbaf529ebc911458d65 100644
--- a/src/app/access/views/access-view/access-view.component.ts
+++ b/src/app/access/views/access-view/access-view.component.ts
@@ -1,5 +1,7 @@
 import {Component, OnInit} from '@angular/core';
 import {SearchDip} from '@app/access/access.action';
+import {AccessStateModel} from '@app/access/access.state';
+import {DipModel} from '@app/generated-api';
 import {Select, Store} from '@ngxs/store';
 import {Observable} from 'rxjs';
 
@@ -10,8 +12,8 @@ import {Observable} from 'rxjs';
   styleUrls: ['./access-view.component.scss'],
 })
 export class AccessViewComponent implements OnInit {
-  @Select((state) => state.access.isLoading) isLoading$: Observable<string>;
-  @Select((state) => state.access.dips) dips$: Observable<string>;
+  @Select((state) => ((state.access) as AccessStateModel).isLoading) isLoading$: Observable<boolean>;
+  @Select((state) => ((state.access) as AccessStateModel).dips) dips$: Observable<DipModel[]>;
 
   constructor(private store: Store) {
   }
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index c190e9c5855e49424af037bded969ee7ff050e11..782bfcd61da90c11012b42e77a8465b8b6bc774f 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -35,7 +35,7 @@ import {AppRoutingModule} from './module/app-routing.module';
     BrowserAnimationsModule,
     AppRoutingModule,
     NgxsModule.forRoot([], {
-      developmentMode: !environment.production, // Allow to freeze store
+      developmentMode: !environment.production, // Allow to enable freeze store in dev env
     }),
     NgxsLoggerPluginModule.forRoot({
       logger: console,
diff --git a/src/app/deposit/deposit.action.ts b/src/app/deposit/deposit.action.ts
index a6116ddbdfad76c993239303e421df2f17eb6538..2795b1f82c887a82eb2f3cb4f1a643d49db98f27 100644
--- a/src/app/deposit/deposit.action.ts
+++ b/src/app/deposit/deposit.action.ts
@@ -1,12 +1,22 @@
-export class AddDIP {
-  static readonly type = '[Deposit] Add DIP';
+import {DepositsModel} from '@app/generated-api';
+import {CollectionTypedModel} from '@app/model/collection-typed.model';
 
-  constructor(public name: string) {
+export class GetAll {
+  static readonly type = '[Deposit] Get All';
+
+  constructor() {
   }
 }
 
-export class GetAll {
-  static readonly type = '[Deposit] Get All';
+export class GetAllSuccess {
+  static readonly type = '[Deposit] Get All Success';
+
+  constructor(public deposits: CollectionTypedModel<DepositsModel>) {
+  }
+}
+
+export class GetAllFail {
+  static readonly type = '[Deposit] Get All Fail';
 
   constructor() {
   }
diff --git a/src/app/deposit/deposit.state.ts b/src/app/deposit/deposit.state.ts
index 4c27c12f27fe3ee3967ffdfbdfa8b11d1a2d5a48..c5c95ef4198f81827675d6813bf452a171b6c0ad 100644
--- a/src/app/deposit/deposit.state.ts
+++ b/src/app/deposit/deposit.state.ts
@@ -1,66 +1,60 @@
 import {AppStateModel} from '@app/app.state';
-import {AddDIP, GetAll} from '@app/deposit/deposit.action';
-import {DepositService} from '@app/deposit/services/deposit.service';
+import {GetAll, GetAllFail, GetAllSuccess} from '@app/deposit/deposit.action';
+import {DepositsModel, DipModel} from '@app/generated-api';
+import {CollectionTypedModel} from '@app/model/collection-typed.model';
+import {DlcmExtendedService} from '@app/service/dlcm.extended.service';
 import {Action, State, StateContext} from '@ngxs/store';
-import {tap} from 'rxjs/internal/operators/tap';
+import {catchError} from 'rxjs/internal/operators/catchError';
+import {tap} from 'rxjs/operators';
 
 export interface DepositStateModel extends AppStateModel {
-  feed: boolean;
-  dip: string;
-  dips: [];
+  totalDeposit: number;
+  deposits: DipModel[];
 }
 
 @State<DepositStateModel>({
   name: 'deposit',
   defaults: {
-    feed: false,
-    dip: 'test',
-    dips: [],
+    totalDeposit: 0,
+    deposits: [],
     isLoading: false,
   },
 })
 export class DepositState {
-  constructor(private depositService: DepositService) {
+  constructor(private dlcmService: DlcmExtendedService) {
   }
 
-  @Action(AddDIP)
-  addDIP(ctx: StateContext<DepositStateModel>, action: AddDIP) {
-    // const state = ctx.getState();
-    // ctx.setState({
-    //   ...state,
-    //   feed: !state.feed,
-    //   dip: action.name,
-    //   isLoading: true,
-    // });
-
-    // equals to
-    // ctx.setState((state) => ({...state, dip: action.name}));
-
-    // equals to
+  @Action(GetAll, {cancelUncompleted: true})
+  getAll(ctx: StateContext<DepositStateModel>, action: GetAll) {
     ctx.patchState({
-      dip: action.name,
+      isLoading: true,
     });
 
-    // return ctx.dispatch(new GetAll());
+    return this.dlcmService.preingestDepositsGet()
+      .pipe(
+        tap((collectionDips: CollectionTypedModel<DepositsModel>) => {
+          ctx.dispatch(new GetAllSuccess(collectionDips));
+        }),
+        catchError(error => {
+          ctx.dispatch(new GetAllFail());
+          throw error;
+        }),
+      );
   }
 
-  @Action(GetAll)
-  getAll(ctx: StateContext<DepositStateModel>, action: GetAll) {
+  @Action(GetAllSuccess)
+  getAllSuccess(ctx: StateContext<DepositStateModel>, action: GetAllSuccess) {
     ctx.patchState({
-      isLoading: true,
+      deposits: action.deposits._data,
+      totalDeposit: action.deposits._page.totalItems,
+      isLoading: false,
     });
+  }
 
-    return this.depositService.getAll().pipe(
-      tap((deposits: any) => {
-        console.log('test', deposits);
-        const state = ctx.getState();
-        // ctx.patchState()
-        ctx.setState({
-          ...state,
-          dips: deposits._data,
-          isLoading: false,
-        });
-      }),
-    );
+  @Action(GetAllFail)
+  getAllFail(ctx: StateContext<DepositStateModel>) {
+    ctx.patchState({
+      isLoading: false,
+    });
   }
 }
diff --git a/src/app/deposit/views/deposit-view/deposit-view.component.html b/src/app/deposit/views/deposit-view/deposit-view.component.html
index df17ae7894cd97049c361107ac7121d79b1d0987..eced351467c8ac1990d1e7be6e350e28b0414d0b 100644
--- a/src/app/deposit/views/deposit-view/deposit-view.component.html
+++ b/src/app/deposit/views/deposit-view/deposit-view.component.html
@@ -1,44 +1,8 @@
-<button mat-flat-button color="primary">New Deposit</button>
+<button mat-flat-button color="primary" (click)="addDeposit()">New Deposit</button>
+<button mat-flat-button color="secondary" (click)="getAll()">Refresh</button>
 
-<button (click)="getAll()">Get All deposit</button>
-<!--<button (click)="addDIP()">Add DIP</button>-->
+{{(deposits$ | async) | json}}
 
-<ul>
-  <li *ngFor="let dip of (deposit$ | async).dips">
-    {{dip | json}}
-  </li>
-</ul>
+<mat-spinner *ngIf="(isLoading$ | async)"></mat-spinner>
 
-<!--Deposits :-->
-
-<!--DIPS :-->
-<!--&lt;!&ndash;{{dips$ | async}}&ndash;&gt;-->
-<!--<br>-->
-<!--DIP :-->
-<!--{{(depositState$ | async).dip}}-->
-<!--<br>-->
-<!--DIP 2 :-->
-<!--{{(deposit$ | async).dip}}-->
-<!--<br>-->
-<!--DIP 3 :-->
-<!--{{dip3$ | async}}-->
-<!--<br>-->
-<!--DIP 4 :-->
-<!--{{dip4$ | async}}-->
-<!--<br>-->
-<!--&lt;!&ndash;Don't work&ndash;&gt;-->
-<!--DIP Panda :-->
-<!--&lt;!&ndash;{{dipPanda$ | async}}&ndash;&gt;-->
-<!--<br>-->
-<!--All :-->
-<!--<ul>-->
-<!--  <li *ngFor="let dip of (deposit$ | async).dips">-->
-<!--    {{dip | json}}-->
-<!--  </li>-->
-<!--</ul>-->
-
-<!--<fa-icon [icon]="faCoffee"></fa-icon>-->
-<!--<fa-icon icon="coffee"></fa-icon>-->
-
-<!--<mat-spinner *ngIf="(deposit$ | async).isLoading"></mat-spinner>-->
 
diff --git a/src/app/deposit/views/deposit-view/deposit-view.component.ts b/src/app/deposit/views/deposit-view/deposit-view.component.ts
index 0715ad0eb9640d2640acd90b249b951a5080dd88..21a92ad350d420633cbbc9d72015b0156d251638 100644
--- a/src/app/deposit/views/deposit-view/deposit-view.component.ts
+++ b/src/app/deposit/views/deposit-view/deposit-view.component.ts
@@ -1,6 +1,7 @@
 import {Component, OnInit} from '@angular/core';
-import {AddDIP, GetAll} from '@app/deposit/deposit.action';
-import {DepositState, DepositStateModel} from '@app/deposit/deposit.state';
+import {GetAll} from '@app/deposit/deposit.action';
+import {DepositStateModel} from '@app/deposit/deposit.state';
+import {DepositsModel} from '@app/generated-api';
 import {faCoffee} from '@fortawesome/free-solid-svg-icons';
 import {Select, Store} from '@ngxs/store';
 import {Observable} from 'rxjs';
@@ -13,31 +14,21 @@ import {Observable} from 'rxjs';
 export class DepositViewComponent implements OnInit {
   faCoffee = faCoffee;
 
-  // @Select((state: DepositStateModel) => state.dips) dips$: Observable<any>;
-  // @Select(DepositState.dip) dip$: Observable<string>;
-  @Select(DepositState) depositState$: Observable<DepositStateModel>;
-
-  // Uses the pandas memoized selector to only return pandas
-  // @Select(DepositState.dip) dipPanda$: Observable<string>;
-
-  @Select((state) => state.deposit.dip) dip3$: Observable<string>;
-
-  @Select() deposit$: Observable<DepositStateModel>;
-
-  dip4$: Observable<string>;
+  @Select((state) => ((state.deposit) as DepositStateModel).isLoading) isLoading$: Observable<boolean>;
+  @Select((state) => ((state.deposit) as DepositStateModel).deposits) deposits$: Observable<DepositsModel[]>;
 
   constructor(private store: Store) {
-    this.dip4$ = this.store.select(state => state.deposit.dip);
   }
 
   ngOnInit() {
+    this.getAll();
   }
 
   getAll() {
     this.store.dispatch(new GetAll());
   }
 
-  addDIP() {
-    this.store.dispatch(new AddDIP('My new dip'));
+  addDeposit() {
+
   }
 }