lol at this commit but its a start to the clustering code
this is roughly how i think kmeans should work