support other clusterings, update tests