implement DistributedAtom