KNN fully functional drop in replacement for allknn