introduced defineSnapshotNeed