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

		// ex. @set here=header:======================
		
		debug("SET: " + arg);
		
		String[] args = arg.split("=", 2);

		// if there is a property to be set or removed
		if (args.length > 1) {
			final String target = args[0];
			final String other = args[1];
			
			debug("SET (target): " + target);
			debug("SET (other): " + other);
			
			// get the property and it's value from the arguments
			final String[] temp = Utils.trim(other).split(":", 2);
			
			// if we have a separate key and value to set
			if (temp.length == 2) {
				final String key = Utils.trim(temp[0]);
				final String value = Utils.trim(temp[1]);

				debug("SET (property): " + key);
				debug("SET (value): " + value);
				
				// get the object
				switch(target) {
				case "me":   mobj = player; break;
				case "here": mobj = room; break;
				default:     mobj = getObject(target); break;
				}
				
				debug("MOBJ IS NULL? " + (mobj == null));

				// if the object isn't null and is neart the player, modify it's properties
				if (mobj != null) {
					int dbref = mobj.getDBRef();
					int location = mobj.getLocation();

					debug("Object Loc:   " + location);
					debug("");
					debug("Player DBRef: " + player.getDBRef());
					debug("Player Loc:   " + player.getLocation());
					
					boolean roomItself = (dbref == player.getLocation());
					boolean sameRoom = (location == player.getLocation());
					boolean holding = (location == player.getDBRef());
					
					if( roomItself || holding || sameRoom ) {
						if ( !value.equals("") ) {
							mobj.setProperty(key, value);
							send("Property \'" + key + "\' with value of \'" + value + "\' set on " + mobj.getName(), client);
						}
						else {
							mobj.getProperties().remove(key);
							send("Property \'" + key + "\' removed from " + mobj.getName(), client);
						}
					}
				}
			}
			else {
				send("SET: Invalid key-value pair!", client);
			}
		}
		else {
			send("SET: No property specified!", client);
		}
	}