add calculate_distance