+ update doesn't work well => explicit remove and insert