Added comments and implemented some communicator methods