modification on reference, snapshot obj