Currently, the KDTree implementation uses a fixed distance metric. Add a parameter to allow users to choose which distance metric will be used in the KDTree (e.g., Euclidean, Manhattan, Canberra, etc.). This will make the implementation more flexible for different use cases.