added communication and common part