* @param client
	 */
	private void cmd_get(final String arg, final Client client) {
		Player player = getPlayer(client);
		Room room = getRoom( player.getLocation() );

		// process syntax/arguments
		// get (from) <container> <item>

		// if there is no argument
		if ( arg.equals("") ) {
			send("Syntax: get <container> <item>", client);
		}
		else {
			// split the arguments into a string array by space characters
			final String[] args = arg.split(" ");

			// tell us how many elements the array has (debug)
			debug("" + args.length);

			if (args.length == 2) {
				// allow for multi word items to be referred to with _ instead of the spaces that exist
				final String itemName = args[1].replace('_', ' ');

				System.out.println("Arg: " + args[0]);

				// find the container
				// TODO need a item finding function that can evaluate specified criteria
				// TODO I think maybe I should glom the items and things found into a containers list and iterate over that, stopping when I successfully find something
				
				boolean success = false;
				
				Storage<Item> s = null;
				
				final List<MUDObject> objects = new LinkedList<MUDObject>();
				
				objects.addAll( findItems(player.getInventory(), args[0]) );
				objects.addAll( findItems(room.getItems(),       args[0]) );
				objects.addAll( room.getThings() ); // TODO should be getting only things with the right name
				
				for (final MUDObject object : objects) {
					if( object.isType(TypeFlag.ITEM) ) {
						final Item item = (Item) object;
						
						if ( item.getItemType() == ItemTypes.CONTAINER) {
							s = (Container) item;

							success = get(player, s, itemName);
						}	
					}
					else if( object.isType(TypeFlag.THING) ) {
						final Thing thing = (Thing) object;
						
						if( thing.thing_type == ThingTypes.CONTAINER ) {
							s = (Box) thing;

							success = get(player, s, itemName);
						}
					}
					
					if( success ) break;
				}
				
				if( !success ) send("No such item", client);
				
				/*System.out.println("ITEMS");

				final List<Item> items = new LinkedList<Item>();

				items.addAll( findItems(player.getInventory(), args[0]) );
				items.addAll( findItems(room.getItems(),       args[0]) );

				for (final Item item : items) {
					if (item.getItemType() == ItemTypes.CONTAINER) {
						s = (Container) item;

						success = get(player, s, itemName);

						break;
					}
				}

				if( !success ) {
					System.out.println("THINGS");

					final List<Thing> things = new LinkedList<Thing>();

					things.addAll( room.getThings() );

					for (final Thing thing : things) {	
						if( thing.thing_type == ThingTypes.CONTAINER ) {
							s = (Box) thing;

							success = get(player, s, itemName);
							break;
						}
					}
				}

				if( !success ) send("No such item", client);*/
			}

			/*
			 * 
			 * // get a list of the objects that the player can see
			 * List<MUDObject> foundObjects = findVisibleObjects(room);
			 * 
			 * // look in the room for(final MUDObject m : foundObjects) { if( m
			 * instanceof Thing && m instanceof Storage ) { if(
			 * m.getName().equalsIgnoreCase(args[0]) ) { Storage s = (Storage)
			 * m;
			 * 
			 * Item item = s.retrieve(itemName);
			 * 
			 * if( item != null ) { player.getInventory().add( item );
			 * item.setLocation(player.getDBRef());
			 * System.out.println(player.getInventory());
			 * 
			 * send("You get " + colors(item.getName(), getDisplayColor("item"))
			 * + " from " + ((MUDObject) s).getName(), client);
			 * 
			 * return; } } } }
			 */
		}
	}