Exercise1: update with snapshots