better intersection calc