more advacned snapshotting