give each client a unique id and do not update if change comes from same id