usinig sets for known addresses, some deepcopy call modified to clone() call