more basic primitive intersection test