private void feed() {
		Turn turn = connection.getCurrentTurn();
		teamId = turn.getId();
		
		for (de.nismeinert.net.Team tpack : turn.getTeams()) {
			Team t = null;
			if (teams.containsKey(tpack.getId())) {
				t = teams.get(tpack.getId());
				t.setAntCount(tpack.getAnts());
				t.setName(tpack.getName());
				t.setSugar(tpack.getSugar()); 
				t.getAnts().clear();
			} else {
				t = new Team(tpack.getId(), tpack.getName(), tpack.getSugar(), tpack.getAnts());
			}
			teams.put(t.getId(), t);
		}
		
		sugar.clear();
		//System.out.println("objects");
		for (de.nismeinert.net.Object opack : turn.getObjects()) {
			if ((opack.getType() & 1) != 0) {
				// ant
				if (teams.containsKey(opack.getTeamId())) {
					Team t = teams.get(opack.getTeamId());
					//System.out.println("adding ant " + opack.getTeamID() + "/" + opack.getID());
					t.getAnts().put(opack.getId(), new Ant(opack.getId(), opack.getTeamId(), opack.getHealth(), opack.getX(), opack.getY(),((opack.getType() & 2) != 0)));
				} else {
					System.out.println("wargh! teamless ant!");
				}
			}
			if ((opack.getType() & 2) != 0) {
				sugar.add(new Sugar(opack.getId(), opack.getX(), opack.getY()));
			}
		}
		
		for (WorldChangeListener l : changeListeners) {
			l.worldChanged();
		}
		
	}