Added k-means clustering