support metadata in update method