support PUT replace via update