add list snapshots function