New snapshot implementation