Removing unused code
Moving to another cleaner way of performing root/intersection searches
Moving to an overlap function approach
Slight cleanup of the general algorithm