added snapshotting capabilities