private void redoHelper(boolean fromNetwork) {
		//get the top of the action stack, handle it, and push it to the past actions stack for undo
		if(futureActions.empty()) {
			System.out.println("no actions to redo!");
			return;
		}
		if(!fromNetwork)
			networking.sendAction(new BoardEltExchange(null, BoardActionType.REDO));
		BoardElt be;
		BoardAction b = futureActions.pop();
		switch(b.getType()) {
		case ELT_MOD:
			b.getTarget().redo();
			b.getTarget().repaint();
			pastActions.push(b);
			break;
		case CREATION:
			//redoing a creation means doing a creation
			be = b.getTarget();
			if(be==null)
				return;
			boardElts.put(be.getUID(), be);
			if(be.getType()==BoardEltType.PATH) {
				paths.add((boardnodes.BoardPath)be);
			} else {
				panel.add(be);
			}
			pastActions.push(new CreationAction(be));
			break;			
		case DELETION:
			//redoing a deletion means doing a deletion
			be = b.getTarget();
			if(be==null)
				return;
			boardElts.remove(be.getUID());
			if(be.getType()==BoardEltType.PATH) {
				paths.remove(be);
			} else {
				panel.remove(be);
			}
			pastActions.push(new DeletionAction(be));
			break;
		}
		panel.repaint();
	}