add k-means implementing