diff --git a/content/moderation/_index.md b/content/moderation/_index.md
index 906310d..23c0cec 100644
--- a/content/moderation/_index.md
+++ b/content/moderation/_index.md
@@ -1,7 +1,7 @@
+++
archetype = "chapter"
title = "Moderation"
-weight = 4
+weight = 5
+++
diff --git a/content/moderation/common_moderation_settings.png b/content/moderation/common_moderation_settings.png
new file mode 100644
index 0000000..64619e3
Binary files /dev/null and b/content/moderation/common_moderation_settings.png differ
diff --git a/content/moderation/moderation-overview.md b/content/moderation/moderation-overview.md
new file mode 100644
index 0000000..e63bde7
--- /dev/null
+++ b/content/moderation/moderation-overview.md
@@ -0,0 +1,324 @@
++++
+archetype = "chapter"
+title = "Moderation"
+weight = 1
++++
+
+Everything in moderation, including moderation.
+
+
+
+![Overview of the moderation page](overview_moderation.png)
+
+
+
+**1** Mod Log Channel **2** Report Channel **3** Moderation DM Error Channel **4** Clean Command **5** Report
+Command **6** Unban Logging **7** Giverole/Takerole commands **8** Give/Takerole Permitted Roles **9**
+Give/Takerole Logging **10** External Ban Logging **11** External Kick Logging **12** External Timeout Logging **13**
+Moderation Tabs **14** Bot Permissions Notice
+
+
+
+## Moderation Page
+
+The moderation page allows configuration of common settings.
+
+### Mod Channels
+
+1. **Mod Log** - The mod log is the channel YAGPDB will send log messages to when most moderation commands are used. It
+includes username and user ID of both the moderator, and the moderated user. It additionally includes the reason for
+relevant commands (defaults to `` when not provided), and a [log](/moderation/logging) of the
+channel where the command was run.
+2. **Report** - The channel for YAGPDB to send report messages to when users use the report command. Similar to the mod
+log, it includes username and user ID of the user reporting, and the user reported, as well as the reason and message
+log of the channel.
+3. **Moderation DM Error** - The channel where YAGPDB will send error messages from executing template script within
+[moderation DMs](#moderation-dms).
+
+### Command Toggles
+
+Certain potentially destructive moderation commands are disabled by default. These commands are:
+
+- The **clean command** (**4**) toggles the [clean command](/commands/all-commands#clean).
+- The **report command** (**5**) toggles the [report command](/commands/all-commands#report).
+- **Giverole/Takerole commands** (**7**) toggle the [giverole](/commands/all-commands#giverole) and
+[takerole](/commands/all-commands#takerole) commands.
+
+### Unban/Unmute Logging
+
+When the `unban`/`unmute` commands are used, YAGPDB will log their usage to the [mod log](#mod-channels) similarly to
+the other moderation commands, except without the logs.
+
+When using the `ban` and `mute` commands with a duration, YAGPDB will essentially execute the inverse commands as itself
+at the end of the duration. i.e, if you execute `ban @user 1d`, YAGPDB will ban the user, and 1 day later YAGPDB will
+execute the `unban` command with reason "Timed ban expired." This action appears in the mod log as YAGPDB being the
+moderator.
+
+Toggling Unban Logging (**6**) allows you to enable or disable the logging of Unmute events.
+
+Toggling Give/Takerole Logging (**9**) allows you to enable or disable the logging of Give/Takerole events.
+
+### External Logging
+
+By default, YAGPDB will only log actions it takes, i.e. if you kick a user with the bot's `kick` command, it will log
+it, but not if you kick the user directly via the user context menu. Enabling external logging for different moderation
+actions (**10**), (**11**), (**12**) allows the bot to use the server Audit Log to retrieve moderation actions taken by
+other bots or other users.
+
+YAGPDB must have View Audit Log permissions to use this feature.
+
+## Permissions Notice
+
+The moderation plugin, among other plugins, requires additional permissions to function properly. The notice at the top
+of the screen (**14**) will inform you of the required permissions for the plugin and alert you if the bot is missing
+permissions.
+
+## Moderation Tools
+
+Moderation tools are used to prevent members on your server from being abusive. They can be used via command or triggered
+by automoderator. Like all inbuilt commands, they may also be triggered within template script using
+[exec/execAdmin](/reference/templates/functions#miscellaneous).
+
+Most moderation tools allow you to specify a reason for the mod action. This is included when the action is logged in
+the [mod log](#mod-channels) and is also, by default, DM'd to the offending user when using [certain
+commands](#moderation-dms). This reason may be retroactively edited using the [Reason Command](/commands#reason).
+
+Each of the main moderation tools have individual configuration pages, accessible through the tabs (**13**).
+
+### Common Settings
+
+![Common Moderation Configuration](common_moderation_settings.png)
+
+
+
+**1** Permitted Roles **2** Reason Optional Toggle **3** Moderation DM
+
+
+
+There are common configuration options worth mentioning.
+
+#### Permitted Roles
+
+By default, any user with the relevant Discord permission in your server (timeout members for the timeout command, kick
+members for the kick command, etc.) are able to run the corresponding moderation command. Selecting permitted roles
+(**1**) will allow said roles to run the moderation commands **even if** they do not have required Discord permissions.
+
+Give/Takerole Permitted Roles (**8**) operate in the same way.
+
+#### Reason Optional
+
+By default, Timeout, (Un)Mute, Kick, and Ban tools require the moderator to specify a reason. This forces your staff
+(and yourself, no exceptions!) to specify a reason for taking mod action for the mod logs, and also by default to be
+DM'd to the offending user.
+
+To remove the requirement and make the reason optional, you may toggle this on (**2**).
+
+#### Moderation DMs
+
+Moderation DMs are template scripts (**3**) which are executed within the offending user's DM. Text output to the response will
+be directly sent to the offending user.
+
+{{% button href="/reference/templates" style="transparent" %}}Templates Reference{{% /button %}}
+
+Additional template dot context data is available for Moderation Actions:
+
+- `{{.Reason}}`: The reason specified in the timeout.
+- `{{.Author}}`: The author of the punishment, is a [user object](/reference/templates#user).
+- `{{.Duration}}`: The duration of the mod action in [time.Duration format](/reference/templates#time).
+- `{{.HumanDuration}}`: The duration in a human friendly format (`1 hour and 3 minutes` for example).
+- `{{.WarningID}}`: The ID of the warning (when using the warn command).
+
+Any errors which occur in the template execution will not be logged by default. The offending user will only receive a
+DM from your server saying **Failed executing template.** Setting a [Moderation DM Error channel](#mod-channels) allows
+for the more detailed errors to be captured.
+
+Moderation actions which send DMs are:
+
+- Timeout
+- Mute
+- Kick
+- Ban
+- Warn
+
+### Timeout
+
+Timing out a member employs Discord's timeout feature to prevent users from interacting with your server. Discord's
+timeout temporarily removes the member's permissions to send messages, add reactions, and join voice channels,
+indiscriminantly and regardless of roles or overrides. Using a bot to timeout a member allows you to assign a specific
+timeout duration instead of the pre-defined times.
+
+#### Timeout Default Duration
+
+Similarly to mute and ban, the timeout command has an optional duration. Unlike the mute and ban commands, the timeout
+tool requires a duration between 60 seconds and 4 weeks. This is a requirement by Discord. For this reason the timeout
+command has a default duration which is applied if the duration argument is omitted when running the command. By
+default, this default duration is set to 10 minutes, but can be changed via the timeout tab on the control panel.
+
+[Timeout Command Syntax](/commands#timeout)
+
+### Mute
+
+Muting a member assigns them the designated "Mute role" as specified in the Mute tab on the control panel. This allows
+for you to remove permissions from this role in all or specific channels on your server, effectively removing the user's
+ability to send messages on your server when muted. You may optionally specify a duration for the mute, after which the
+user will be unmuted.
+
+#### Manage Mute Role
+
+By default, the mute command will only assign the mute role to the user when they are muted. This allows you to fully
+customize the permissions granted to or removed from your mute role. Alternatively, enable the "Have the bot manage the
+mute role" toggle to allow the bot to automatically alter the permissions of your channels to prevent the muted role
+from sending messages.
+
+You may also allow the bot to remove the muted role's "Add Reactions" permission automatically by toggling on "Disallow
+Adding Reactions when muted" in the mute tab on the control panel. The bot must be automatically managing the mute role
+for this to work.
+
+#### Remove Roles Whilst Muted
+
+You may specify roles for YAGPDB to remove from a user whilst muted and give back after they are unmuted. This will let
+the bot log which of the selected roles the member has at the time of the mute, then return them to said member at the
+time of unmute.
+
+#### Mute Default Duration
+
+The mute command has an optional duration argument. By default, if no duration is provided, the mute is permanent (or
+until manually unmuted). To override this, you may set a default duration with the "Default mute duration" field in the
+mute tab on the control panel.
+
+[Mute Command Syntax](/commands#mute)
+
+[Unmute Command Syntax](/commands#unmute)
+
+{{% notice warning %}}
+
+Within a server channel's permission overrides, allowing a permission to a specific role or user supersedes disallowing
+a permission to a specific role. This means if you grant Role X the permission to send messages in a channel and
+disallow the Muted role the same permission, a user with both Role X *and* Muted role **will** be allowed to send
+messages in the channel.
+
+To solve this issue and allow the mute role to properly remove permissions, select the `/` instead of the checkmark
+when configuring other roles' permission overrides.
+
+![Neutral permission configuration](neutral_permissions_example.png)
+
+{{% /notice %}}
+
+{{% notice info %}}
+
+If you set a duration for the mute, the bot will unmute the user after the specified duration. When this occurs, it
+appears as an unmute action taken by YAGPDB in your mod log, regardless of which moderator initially muted the user.
+
+{{% /notice %}}
+
+### Kick
+
+Kicking a user immediately removes them from your server. They may still join back if they use a valid invite link or
+code.
+
+#### Delete User's Last Messages on Kick
+
+YAGPDB's kick tool optionally allows you to delete the X most recent messages sent by that user within the channel the
+kick action takes place in. This can be done by specifying a number of messages to delete with the `-cl` flag when
+running the kick command. There is also a "Delete the user's last 100 messages" toggle in the kick tab on the control
+panel which enables automatic deletion when the kick tool is used.
+
+[Kick Command Syntax](/commands#kick)
+
+### Ban
+
+Banning a user uses Discord's native ban feature to remove a user from your server, and prevent that user from joining
+your server again with any invite code or link. You may optionally specify a duration for the ban, after which the
+user will be unbanned.
+
+#### Delete User's Last Messages on Ban
+
+Discord natively allows you to delete a set amount of the offending user's most recent messages upon banning them. This
+is measured by days' worth of messages. This can be done by specifying a number of days' worth of messages to delete
+with the `-ddays` flag when running the ban command. There is also a "Default number of days of messages to delete"
+field in the ban tab on the control panel which enables automatic deletion when the kick tool is used.
+
+[Ban Command Syntax](/commands#ban)
+
+[Unban Command Syntax](/commands#unban)
+
+{{% notice info %}}
+
+If you set a duration for the ban, the bot will unban the user after the specified duration. When this occurs, it
+appears as an unban action taken by YAGPDB in your mod log, regardless of which moderator initially banned the user.
+
+{{% /notice %}}
+
+### Warnings
+
+Warning a user adds an entry to the user's warning log on the server, and optionally appears in the mod log as well.
+This can be used to better inform future moderation actions based on the user's past behavior. Additionally, it sends a
+DM to the user with the warning reason, which can be used to dissuade a user from continuing harmful actions without
+needing to remove their access to your server.
+
+#### Message Logs
+
+You may optionally allow YAGPDB to create a [message log](/moderation/logging) of the last 100 messages from all users
+in the channel a warning was issued in. This can help provide context for past warnings and further inform future mod
+actions. This is enabled in the warnings tab on the control panel.
+
+#### Warning Mod Log
+
+You may optionally send warnings to the mod log, this is enabled in the warnings tab on the control panel.
+
+#### Managing Warnings
+
+[Warn Command Syntax](/commands#warn)
+
+[Warnings Command Syntax](/commands#warnings) - Lists warnings of a user.
+
+[EditWarning Command Syntax](/commands#editwarning) - Retroactively edits a warning.
+
+[DelWarning Command Syntax](/commands#delwarning) - Deletes a warning.
+
+[ClearWarnings Command Syntax](/commands#clearwarnings) - Clears the warnings of a user.
+
+[TopWarnings Command Syntax](/commands#topwarnings) - Shows ranked list of warnings on the server, allowing you to turn
+misbehavior into a fun minigame for your server members.
+
+{{% notice style="tip" title="Taking Action on Warn Count" %}}
+
+Some users prescribe an "x warnings => mute/kick/ban" rule for their servers. To have YAGPDB automatically take action
+based on warning count, you can take advantage of the template scripting within the warning DM.
+
+Example:
+
+```go
+{{/* Config Area Starts */}}
+
+{{$count := 4 }} {{/* No of warnings at which Certain Action is to be taken ( eg: for action to take place at 4 warnings set count as 4 ) */}}
+{{$some_channel_ID := 0}} {{/* replace with channel id of any random channel which is used for command execution when a default channel of warn doesn't exist */}}
+
+{{/* Config Area Ends */}}
+
+{{define "punish_check"}}
+{{$count := toInt .TemplateArgs}}
+{{$warns_count := toInt (reFind `\d+` (execAdmin "Warnings" .User.ID).Description)}}
+
+{{/* If warning count is above a threshold value take action */}}
+{{if ge $warns_count $count}}
+
+{{/* Add required code for action to be taken when warning count exceeds the threshold */}}
+Add Code Here
+
+{{/* Code to reset warnings for the user. Delete if you do not wish to reset the warnings */}}
+{{$silent := execAdmin "ClearWarnings" .User.ID}}
+
+{{/*End statement for if. Do not Remove if you don't know what you're doing*/}}
+{{end}}
+
+{{end}}
+
+{{if .Channel}}
+ {{$s := sendTemplate .Channel.ID "punish_check" $count}}
+{{else}}
+ {{$s := sendTemplate $some_channel_ID "punish_check" $count}}
+{{end}}
+```
+
+{{% /notice %}}
diff --git a/content/moderation/moderation/_index.md b/content/moderation/moderation/_index.md
deleted file mode 100644
index 53178fb..0000000
--- a/content/moderation/moderation/_index.md
+++ /dev/null
@@ -1,105 +0,0 @@
-+++
-archetype = "chapter"
-title = "Moderation"
-weight = 1
-+++
-
-Everything in moderation, including moderation.
-
-
-
-![Overview of the moderation page](overview_moderation.png)
-
-
-
-**1** Mod Log Channel **2** Report Channel **3** Moderation DM Error Channel **4** Clean Command **5** Report
-Command **6** Unban Logging **7** Giverole/Takerole commands **8** Give/Takerole Permitted Roles **9**
-Give/Takerole Logging **10** Foreign Ban Logging **11** Foreign Kick Logging **12** Foreign Timeout Logging **13**
-Moderation Tabs **14** Bot Permissions Notice
-
-
-
-## Moderation Page
-
-The moderation page allows configuration of common settings.
-
-### Mod Channels
-
-1. **Mod Log** - The mod log is the channel YAGPDB will send log messages to when most moderation commands are used. It
-includes username and user ID of both the moderator, and the moderated user. It additionally includes the reason for
-relevant commands (defaults to `` when not provided), and a [log](/moderation/logging) of the
-channel where the command was run.
-2. **Report** - The channel for YAGPDB to send report messages to when users use the report command. Similar to the mod
-log, it includes username and user ID of the user reporting, and the user reported, as well as the reason and message
-log of the channel.
-3. **Moderation DM Error** - The channel where YAGPDB will send error messages from executing template script within
-[moderation DMs](#moderation-dms).
-
-### Command Toggles
-
-Certain potentially destructive moderation commands are disabled by default. These commands are:
-
-- The **clean command** (**4**) toggles the [clean command](/commands/all-commands#clean).
-- The **report command** (**5**) toggles the [report command](/commands/all-commands#report).
-- **Giverole/Takerole commands** (**7**) toggle the [giverole](/commands/all-commands#giverole) and
-[takerole](/commands/all-commands#takerole) commands.
-
-### Unban/Unmute Logging
-
-When the `unban`/`unmute` commands are used, YAGPDB will log their usage to the [mod log](#mod-channels) similarly to
-the other moderation commands, except without the logs.
-
-When using the `ban` and `mute` commands with a duration, YAGPDB will essentially execute the inverse commands as itself
-at the end of the duration. i.e, if you execute `ban @user 1d`, YAGPDB will ban the user, and 1 day later YAGPDB will
-execute the `unban` command with reason "Timed ban expired." This action appears in the mod log as YAGPDB being the
-moderator.
-
-Toggling Unban Logging (**6**) allows you to enable or disable the logging of Unmute events.
-
-Toggling Give/Takerole Logging (**9**) allows you to enable or disable the logging of Give/Takerole events.
-
-### Foreign Logging
-
-By default, YAGPDB will only log actions it takes, i.e. if you kick a user with the bot's `kick` command, it will log
-it, but not if you kick the user directly with user. Enabling foreign logging for different moderation actions (**10**),
-(**11**), (**12**) allows the bot to use the server Audit Log to retrieve moderation actions taken by other bots or
-other users.
-
-YAGPDB must have View Audit Log permissions to use this feature.
-
-## Permissions Notice
-
-The moderation plugin, among other plugins, requires additional permissions to function properly. The notice at the top
-of the screen (**14**) will inform you of the required permissions for the plugin and alert you if the bot is missing
-permissions.
-
-## Moderation Commands
-
-Each of the main moderation commands have individual configuration pages, accessible through the tabs (**13**). There
-are common configuration options worth mentioning.
-
-![Common Moderation Configuration](common_moderation_settings.png)
-
-
-
-**1** Permitted Roles **2** Moderation DM
-
-
-
-### Permitted Roles
-
-Selecting permitted roles will allow said roles to run the moderation command **even if** they do not have
-required Discord permissions.
-
-Give/Takerole Permitted Roles (**8**) operate in the same way.
-
-### Moderation DMs
-
-Moderation DMs are template scripts which are executed within the offending user's DM. Text output to the response will
-be directly sent to the offending user.
-
-Any errors which occur in the template execution will not be logged by default. The offending user will only receive a
-DM from your server saying **Failed executing template.** Setting a [Moderation DM Error channel](#mod-channels) allows
-for the more detailed errors to not be lost.
-
-{{%children containerstyle="div" style="h2" description="true" %}}
diff --git a/content/moderation/moderation/ban.md b/content/moderation/moderation/ban.md
deleted file mode 100644
index c8ba311..0000000
--- a/content/moderation/moderation/ban.md
+++ /dev/null
@@ -1,9 +0,0 @@
-+++
-title = 'Ban'
-weight = 4
-+++
-
-Ban a user, preventing them from joining the server until unbanned, optionally deleting x previous days of their
-messages from the server. Optionally unbans the user after a set duration.
-
-
diff --git a/content/moderation/moderation/common_moderation_settings.png b/content/moderation/moderation/common_moderation_settings.png
deleted file mode 100644
index a1b3cb4..0000000
Binary files a/content/moderation/moderation/common_moderation_settings.png and /dev/null differ
diff --git a/content/moderation/moderation/kick.md b/content/moderation/moderation/kick.md
deleted file mode 100644
index 4297228..0000000
--- a/content/moderation/moderation/kick.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title = 'Kick'
-weight = 3
-+++
-
-Removes a member from the server, optionally deleting x number of their previous messages on the server.
-
-
diff --git a/content/moderation/moderation/mute.md b/content/moderation/moderation/mute.md
deleted file mode 100644
index a1c721c..0000000
--- a/content/moderation/moderation/mute.md
+++ /dev/null
@@ -1,9 +0,0 @@
-+++
-title = 'Mute'
-weight = 2
-+++
-
-Remove a user's ability to talk by assigning them a role with Send Message permissions denied in all channels.
-Optionally unmutes the user after a set duration.
-
-
diff --git a/content/moderation/moderation/overview_moderation.png b/content/moderation/moderation/overview_moderation.png
deleted file mode 100644
index 4e760dd..0000000
Binary files a/content/moderation/moderation/overview_moderation.png and /dev/null differ
diff --git a/content/moderation/moderation/timeout.md b/content/moderation/moderation/timeout.md
deleted file mode 100644
index eafb897..0000000
--- a/content/moderation/moderation/timeout.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title = 'Timeout'
-weight = 1
-+++
-
-Utilize Discord's builtin timeout feature to restrict a user's ability to send messages or add reactions.
-
-
diff --git a/content/moderation/moderation/warnings.md b/content/moderation/moderation/warnings.md
deleted file mode 100644
index b0a920b..0000000
--- a/content/moderation/moderation/warnings.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title = 'Warnings'
-weight = 5
-+++
-
-Warn a user, which DMs the user and adds the warning to the user's warning log.
-
-
diff --git a/content/moderation/neutral_permissions_example.png b/content/moderation/neutral_permissions_example.png
new file mode 100644
index 0000000..45d75fd
Binary files /dev/null and b/content/moderation/neutral_permissions_example.png differ
diff --git a/content/moderation/overview_moderation.png b/content/moderation/overview_moderation.png
new file mode 100644
index 0000000..6e80715
Binary files /dev/null and b/content/moderation/overview_moderation.png differ