basic KNN done, with docstring