public boolean execute(CommandSender sender, String[] args) {
		String groupName = args[0];
		GroupManager groupManager = Citadel.getGroupManager();
		Faction group = groupManager.getGroup(groupName);
		if(group == null){
			sendMessage(sender, ChatColor.RED, "Group doesn't exist");
			return true;
		}
		String playerName = sender.getName();
		if(group.isFounder(playerName)){
			sendMessage(sender, ChatColor.RED, "You are the owner. If you wish to leave you must either delete or transfer the group");
			return true;
		}
		if(group.isPersonalGroup()){
			sendMessage(sender, ChatColor.RED, "You cannot leave your default group");
			return true;
		}
		if(!group.isMember(playerName) && !group.isModerator(playerName)){
			sendMessage(sender, ChatColor.RED, "You are not a member of %s", group.getName());
			return true;
		}
		if(group.isModerator(playerName)){
			groupManager.removeModeratorFromGroup(groupName, playerName);
		}
		if(group.isMember(playerName)){
			groupManager.removeMemberFromGroup(groupName, playerName);
		}
		sendMessage(sender, ChatColor.GREEN, "You have left the group %s", group.getName());
		MemberManager memberManager = Citadel.getMemberManager();
		if(memberManager.isOnline(group.getFounder())){
			Player founder = memberManager.getOnlinePlayer(group.getFounder());
			sendMessage(founder, ChatColor.YELLOW, "%s has left the group %s", playerName, group.getName());
		}
		return true;
	}