notes on clustering / k-means algorithm