added communication and cluster algorithm