strategy 4 should use the Haversine function so it's consistent with other strategies