added kmeans more