boiler plating
crdt base class and counter