Flesh out Snapshot functionality