working put with diffs on client