improve double collision case