complete knn