added TraverseSnapshot