Extract snapshots implementation

Change-Id: Iefeda78e8703a7c22c1ff831c3d85d1409c9ea1e