Implementation using CRDT