* @param client
	 */
	private void cmd_boards(final String arg, final Client client) {
		if (!arg.equals("")) {
			final String[] args = arg.split(" ");

			if (args[0].charAt(0) == '+') {
				final String param = args[0].substring(1);
				final String board_name = args[1].toLowerCase();

				if (args.length == 2) {
					if (param.equalsIgnoreCase("add")) {
						this.boards.put(board_name, new BulletinBoard(board_name));
						send("Board Added - " + board_name, client);
					}
					else if (param.equalsIgnoreCase("del")) {
						final BulletinBoard board = this.boards.get(board_name);

						if( board != null ) {
							final Player player = getPlayer(client);

							if( board.getOwner() == player || checkAccess(player, Constants.ADMIN) ) {
								// TODO ask for confirmation?
								this.boards.remove(board_name);
								send("Board Removed - " + board_name, client);
							}
							else {
								send("ERROR: You do not own that board!", client);
							}
						}
					}
					else if(param.equalsIgnoreCase("info")) {
						final BulletinBoard board = this.boards.get(board_name);

						if( board != null ) {
							final List<String> data = Utils.mkList(
									Utils.padRight("", '-', 75),
									"    Name: " + board.getName(),
									"   Owner: " + ((board.getOwner() != null) ? board.getOwner().getName() : "none"),
									"Messages: " + board.getNumMessages(),
									Utils.padRight("", '-', 75)
									);
							send(data, client);
						}
					}
				}
				else if(args.length == 3) {
					// +transfer board new_owner
					if(param.equalsIgnoreCase("transfer")) {
						final BulletinBoard board = this.boards.get(board_name);

						if( board != null ) {
							final Player player = getPlayer(client);
							final Player player1 = getPlayer(args[2]);

							if( board.getOwner() == player || checkAccess(player, Constants.ADMIN) ) {
								if( player1 != null ) {
									board.setOwner(player1);
								}
							}
						}
					}
				}
			}
		}
		else {
			send("Boards", client);
			
			send(Utils.padRight("", '-', 40), client);
			
			for (final Map.Entry<String, BulletinBoard> entry : this.boards.entrySet()) {
				BulletinBoard bb1 = entry.getValue();
				String shortName = entry.getKey();
				send(bb1.getName() + " (" + bb1.getNumMessages() + ") [" + shortName + "]", client);
			}
		}
	}