name can be optional as its an update but NOT empty