Refactor Intersection