snapshotting now working for imperative searn