private void cmd_read(final String arg, final Client client) {
		final Player player = getPlayer(client);

		// get the specified item
		final List<Item> items = new LinkedList<Item>();

		items.addAll( objectDB.getItemsByLoc( player.getLocation() ) ); // in room
		items.addAll( player.getInventory() );                          // carried by player
		
		//objectDB.getThingsForRoom( getRoom( player.getLocation() ) );
		
		final Item item = MudUtils.findItem(arg, items);
		
		// use findItem! (11-9-2015)
		if (item != null) {
			debug("Item Name: " + item.getName());
			debug("Item Type: " + item.getItemType().toString());
			
			// check to see if it's a book (or readable?)
			if ( item.getItemType() == ItemTypes.BOOK ) {
				final Book book = (Book) item;

				if (book.numPages() > 0) {
					// show us what we're looking at
					final List<String> page = book.getPage( book.getPageNum() );

					if (page.size() > 0)       client.write(page);
					else if (page.size() == 0) client.writeln("The page is blank...");
				}
			}
			else if ( item instanceof Readable ) {
				showDesc(((Readable) item).read(), client);
			}
			else if( item.getProperty("_game/readable", Boolean.class) ) {
				final String text = item.getProperty("_game/text");

				showDesc(text, client);
			}
		}
		else {
			send("No such item.", client);
		}
	}