* @param client
	 */
	private void cmd_examine(final String arg, final Client client) {
		if ( arg.equals("") || arg.equals("here") ) {
			Room room = getRoom( getPlayer( client ).getLocation() );
			examine(room, client);
		}
		else if (arg.equals("me")) {
			Player player = getPlayer(client);
			examine(player, client);
		}
		else {
			if( arg.charAt(0) == '#' ) {
				final int dbref = Utils.toInt(arg.substring(1), -1);
				
				if (dbref != -1) {
					MUDObject mobj = getObject(dbref);

					if (mobj != null) {
						switch(mobj.getType()) {
						case EXIT:   examine((Exit) mobj, client);   break;
						case PLAYER: examine((Player) mobj, client); break;
						case ROOM:   examine((Room) mobj, client);   break;
						default:     examine(mobj, client);          break;
						}
					}
					else send("That doesn't exist.", client);
				}
				else send("That doesn't exist.", client);
			}
			else {
				// get by string/name
				MUDObject mobj = getObject(arg);
				
				if( mobj != null ) {
					/** TODO: fix the following kludge **/
					/*if( mobj.getLocation() != getPlayer(client).getLocation() ) {
						send("That doesn't exist.", client);
						return;
					}*/
					
					switch(mobj.getType()) {
					case EXIT:   examine((Exit) mobj, client);   break;
					case PLAYER: examine((Player) mobj, client); break;
					case ROOM:   examine((Room) mobj, client);   break;
					default:     examine(mobj, client);          break;
					}
				}
				else {
					send("That doesn't exist.", client);
				}
			}
		}
	}