mostly working update with async and jsondiffpatch