add NewCommunication func