public void run()                             // Execution
  {
    // Listen to network to get the latest state of the
    //  game from the server
    // Update model with this information, Redisplay model
    DEBUG.trace( "Player.run" );
    try {
		  NetObjectReader input = new NetObjectReader(s);  // try make a reader with socket s
		  
		  while(true){    // constant loop
			  String update = (String) input.get(); //create string from the reader.get
			  Scanner scanner = new Scanner(update);  //create a scanner with this string									
			  double[] positions = new double[6];	  //create an arraylist of doubles
			  for(int i = 0; i < 6; i++)	{			  							
				  positions[i] = scanner.nextDouble();	  //populate arraylist using doubles from scanner
			  }
			  scanner.close();  //close scanner
			  GameObject bats[] = new GameObject[2];  // create new arraylist with gameobjects
			  bats[0] = new GameObject(positions[0], positions[1], BAT_WIDTH, BAT_HEIGHT); // using the positions arraylist.. 
			  bats[1] = new GameObject(positions[2], positions[3], BAT_WIDTH, BAT_HEIGHT);  // ..set the objects' values
			  GameObject ball = new GameObject(positions[4], positions[5], BALL_SIZE, BALL_SIZE); // create a game object for the ball setting values with the positions arraylist
			  model.setBall(ball); //set the model's ball using the ball made
			  model.setBats(bats);  //same for bats
			  model.modelChanged();  // call modelChanged method on the model
			  
			  
		  }
	  } catch(Exception e) {

	  }


	  DEBUG.trace( "Player.run" );
}