added communicator class and tests not passing yet