working on knn