update getdata and putdata