refer to snapshot