added bidirectional communication for client