added clustering algorithms