basic snapshot and rollback