added KNNConsumer