added SnapshotPotential class