added communication diagram