25 - refactoring the intersection point calculation into cleaner secondary functions