clustering framework