replace dom retention with extensible retention