many changes to the Snapshot  and still to do many