Refactor Snapshot