take care of variants almost overlap
reference count fixed