add #update support