For better maintainability, we can break the given code into smaller reusable components and organize utility functions - CoordinateInput - CoordinateList - DistanceDisplay I could extract such utility functions: - haversineDistance - validateCoordinates