clustering evaluation method now takes optional args