adaptive clustering method