added hirarical clustering