added clustering, no gap recursion