A clustering implementation.