still working on intersection math, but it's closer