support for inplace update