add kmeans and kmeans++