public void remove(CommandSender sender, String[] args){
		String Second;
		try{
			Second = args[1];
		} catch(ArrayIndexOutOfBoundsException e){
			sender.sendMessage(Red + "Too few arguments!");
			sendHelp(sender);
			return;
		}
		
		if(xm.playerExists(Second)){
			String Third, Fourth = null, playerWorld, defaultGroup;
			boolean isOnline = true;
			
			try{
				playerWorld = xm.getServer().getPlayer(Second).getWorld().getName();
			} catch(NullPointerException e){
				playerWorld = "true";
				isOnline = false;
			}
			
			defaultGroup = xm.getXgroup().getDefault(playerWorld);
			boolean worldSpecified = false;
			try{
				Third = args[2];
			} catch(ArrayIndexOutOfBoundsException e){
				sender.sendMessage(Red + "Please specify a group!");
				return;
			}
			try{
				Fourth = args[3];
				worldSpecified = true;
			} catch(ArrayIndexOutOfBoundsException e){
				worldSpecified = false;
			}
			
			if(worldSpecified){
				if(!xm.getXworld().isWorld(Fourth)){
					sender.sendMessage(Red + Fourth + DarkGrey + " is not a valid world");
					return;
				}
				
				defaultGroup = xm.getXgroup().getDefault(Fourth);
				xm.getUsers().get().set("users." + Second + "." + Fourth, defaultGroup);
				xm.getUsers().save();
				
				if(playerWorld != null){
					if(xm.getXgroup().isSupportedByWorld(defaultGroup, playerWorld)){
						xm.getXpermissions().setPermissions(xm.getServer().getPlayer(Second), defaultGroup);
					}
				}
				
				sender.sendMessage(Green + Second + DarkGrey + " no longer belongs to " + Green + Third + DarkGrey + " when in " + Green + Fourth);
			}
			else{
				ArrayList<String> messages = new ArrayList<String>();
				
				String[] worlds = xm.getXworld().getAllWorlds();
				ArrayList<String> worldsToChange = new ArrayList<String>();
				for(int i = 0; i < worlds.length; i++){
					if(xm.getUsers().get().isSet("users." + Second + "." + worlds[i])){
						String current = xm.getUsers().get().getString("users." + Second + "." + worlds[i]);
						if(current.equals(Third)){
							worldsToChange.add(worlds[i]);
						}
					}
				}
				String[] list = worldsToChange.toArray(new String[0]);
				if(worldsToChange.isEmpty()){
					sender.sendMessage(list);
					sender.sendMessage(Green + Third + DarkGrey + " Does not seem to be " + Green + Second + DarkGrey + "'s group");
					return;
				}
				
				messages.add(Green + Second + DarkGrey + " no longer belongs to " + Green + Third + DarkGrey + " in the following worlds: ");
				messages.add(sectionDiv);
				
				for(int i = 0; i < list.length; i++){
					defaultGroup = xm.getXgroup().getDefault(list[i]);
					xm.getUsers().get().set("users." + Second + "." + list[i], defaultGroup);
					messages.add(list[i] + DarkGrey + " - is now: " + Green + defaultGroup);
				}
				xm.getUsers().save();
				
				if(isOnline){
					defaultGroup = xm.getXplayer().getGroup(Second, playerWorld);
					if(defaultGroup == null){
						defaultGroup = xm.getXgroup().getDefault(playerWorld);
					}
					if(xm.getXgroup().isSupportedByWorld(defaultGroup, playerWorld)){
						xm.getXpermissions().setPermissions(xm.getServer().getPlayer(Second), defaultGroup);
					}
				}
				
				messages.add(sectionDiv);
				sender.sendMessage(messages.toArray(new String[0]));
			}
		}
		if(Second.equalsIgnoreCase("prefix")){
			if(args.length < 4){
				sender.sendMessage("Too few arguments!");
				sendHelp(sender);
			}
			else{
				String Fourth;
				Fourth = args[3];
				if(xm.getXgroup().isGroup(Fourth)){
					xm.getPermissions().get().set("groups." + Fourth + ".prefix", null);
					xm.getPermissions().save();
					xm.getXpermissions().updatePermissions(Fourth);
					sender.sendMessage(Green + Fourth + DarkGrey + " no longer has a prefix");
				}
				else{
					if(xm.playerExists(Fourth)){
						xm.getUsers().get().set("users." + Fourth + ".prefix", null);
						xm.getUsers().save();
						Player player;
						try{
							player = xm.getServer().getPlayer(Fourth);
						} catch(NullPointerException e){
							sender.sendMessage(Green + Fourth + DarkGrey + " no longer has a prefix");
							return;
						}
						
						xm.getXpermissions().updatePermissions(player);
						sender.sendMessage(Green + Fourth + DarkGrey + " no longer has a prefix");
					}
					else{
						sender.sendMessage(Red + Fourth + DarkGrey + " does not appear to exist");
					}
				}
			}
		}
		if(Second.equalsIgnoreCase("suffix")){
			if(args.length < 4){
				sender.sendMessage("Too few arguments!");
				sendHelp(sender);
			}
			else{
				String Fourth;
				Fourth = args[3];
				if(xm.getXgroup().isGroup(Fourth)){
					xm.getPermissions().get().set("groups." + Fourth + ".suffix", null);
					xm.getPermissions().save();
					xm.getXpermissions().updatePermissions(Fourth);
					sender.sendMessage(Green + Fourth + DarkGrey + " no longer has a suffix");
				}
				else{
					if(xm.playerExists(Fourth)){
						xm.getUsers().get().set("users." + Fourth + ".suffix", null);
						xm.getUsers().save();
						Player player;
						try{
							player = xm.getServer().getPlayer(Fourth);
						} catch(NullPointerException e){
							sender.sendMessage(Green + Fourth + DarkGrey + " no longer has a suffix");
							return;
						}
						
						xm.getXpermissions().updatePermissions(player);
						sender.sendMessage(Green + Fourth + DarkGrey + " no longer has a suffix");
					}
					else{
						sender.sendMessage(Red + Fourth + DarkGrey + " does not appear to exist");
					}
				}
			}
		}
		if(Second.equalsIgnoreCase("permission")){
			if(args.length < 4){
				sender.sendMessage("Too few arguments!");
				sendHelp(sender);
			}
			else{
				String Third, Fourth;
				Third = args[2];
				Fourth = args[3];
				if(xm.getXgroup().isGroup(Fourth)){
					xm.getXpermissions().removeNode(Fourth, Third);
					xm.getXpermissions().updatePermissions(Fourth);
					sender.sendMessage(Green + Fourth + DarkGrey + " no longer has the node " + Green + Third);
				}
				else{
					if(xm.playerExists(Fourth)){
						xm.getXplayer().removeNode("", Fourth, Third);
						Player player;
						try{
							player = xm.getServer().getPlayer(Fourth);
						} catch(NullPointerException e){
							sender.sendMessage(Green + Third + DarkGrey + " has been removed from " + Green + Fourth);
							return;
						}
						sender.sendMessage(Green + Third + DarkGrey + " has been removed from " + Green + Fourth);
						xm.getXpermissions().updatePermissions(player);
					}
					else{
						sender.sendMessage(Red + Fourth + DarkGrey + " does not appear to exist");
					}
				}
			}
		}
	}