you instantiate a `CKNN` each time you call `compute_nn` why?