added clustering analysis