added snapshots, also changed list to slice because gob encoding does not work on lists