kmeans algorithm first commit