updated all src files. The most important update was the addition of some error checking for the k-means clustering. Now it won't get stuck in a local minimum.