begin splitting off clustering functions