tested with knn