cleaned up isOverlap