added communication protocol