Implements clustering.