client spearker and listener