add kMeans clustering algorithm