add communication functions on clients