added more functionality to communicator