diff --git a/pages/api/hello.js b/pages/api/hello.js
deleted file mode 100644
index df63de8..0000000
--- a/pages/api/hello.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
-
-export default function handler(req, res) {
-  res.status(200).json({ name: 'John Doe' })
-}
diff --git a/pages/api/rsmv/complete.js b/pages/api/rsmv/complete.js
index 3259967..97f02b7 100644
--- a/pages/api/rsmv/complete.js
+++ b/pages/api/rsmv/complete.js
@@ -1,6 +1,6 @@
 import Axios from 'axios';
 
-export default async (req, res) => {
+const Complete = async (req, res) => {
     let code = await Axios.post('http://localhost:3000/api/rsmv/validate', {code:req.body.code});
     if (code.status != 200) {
         return res.send(404);
@@ -15,3 +15,5 @@
     )
     return res.send(resp.status);
 }
+
+export default Complete;
\ No newline at end of file
diff --git a/pages/api/rsmv/validate.js b/pages/api/rsmv/validate.js
index 7359a68..4aade75 100644
--- a/pages/api/rsmv/validate.js
+++ b/pages/api/rsmv/validate.js
@@ -5,7 +5,7 @@
 const db = 'rsm';
 const collection = 'rsmv-tokens'
 
-export default (req, res) => {
+const Validate = (req, res) => {
     return new Promise((resolve, reject) => {
         MongoClient.connect(url, async function(err, client) {
             let db_response = await client.db(db).collection(collection).findOne({code: req.body.code});
@@ -25,4 +25,6 @@
             return resolve(res.status(200).send(props));
         })
     })
-}
\ No newline at end of file
+}
+
+export default Validate;
\ No newline at end of file
diff --git a/pages/api/rsmv/verifyTkn.js b/pages/api/rsmv/verifyTkn.js
index 7e9d06f..50eb77e 100644
--- a/pages/api/rsmv/verifyTkn.js
+++ b/pages/api/rsmv/verifyTkn.js
@@ -1,7 +1,7 @@
 import Axios from 'axios';
 import qs from 'querystring';
 
-export default async (req, res) => {
+const verifyTkn = async (req, res) => {
     const chk = await Axios.post('https://hcaptcha.com/siteverify', qs.stringify({
             response: req.body.tkn,
             secret: '0x19C699BFfce07b2a026121DE6702706BB2d51D6c',
@@ -9,4 +9,6 @@
         }))
 
     return res.send({ success: chk.data.success });
-}
\ No newline at end of file
+}
+
+export default verifyTkn;
\ No newline at end of file
diff --git a/pages/castaway.js b/pages/castaway.js
index f24910f..3582a71 100644
--- a/pages/castaway.js
+++ b/pages/castaway.js
@@ -22,12 +22,11 @@
         ]}
         hideArrow={true}
       />
-      <AutoSpacing
-        elements={[
-          <SectionHeading title="Features" id="features"/>,
-          <SectionHeading title="Commands" id="commands"/>,
+      <AutoSpacing>
+          <SectionHeading title="Features" id="features"/>
+          <SectionHeading title="Commands" id="commands"/>
           <SectionHeading title="Invite" id="invite"/>
-      ]}/>
+          </AutoSpacing>
     </>
   )
 }
diff --git a/pages/clicksforms.js b/pages/clicksforms.js
index 3eb62f3..6d37875 100644
--- a/pages/clicksforms.js
+++ b/pages/clicksforms.js
@@ -25,36 +25,35 @@
         ]}
         hideArrow={true}
       />
-      <AutoSpacing
-        elements={[
-          <SectionHeading title="Features" id="features"/>,
-          <TileRow tiles={[
-            <img src="/Features/ClicksForms/Anonymous.svg" />,
-            <img src="/Features/ClicksForms/Buttons.svg" />,
-            <img src="/Features/ClicksForms/Export.svg" />,
-            <img src="/Features/ClicksForms/Forms.svg" />,
-            <img src="/Features/ClicksForms/Multichoice.svg" />,
-            <img src="/Features/ClicksForms/Questions.svg" />,
-            <img src="/Features/ClicksForms/Types.svg" />,
-            <img src="/Features/ClicksForms/Responses.svg" />,
-          ]} />,
-          <SectionHeading title="Commands" id="commands"/>,
-          <Paragraph><code>/accept</code>: Completes a form you are asked to fill in</Paragraph>,
-          <Paragraph><code>/apply</code>: Apply to a form</Paragraph>,
-          <Paragraph><code>/create</code>: Creates a new form</Paragraph>,
-          <Paragraph><code>/download</code>: Downloads a form from a service e.g. Google Forms</Paragraph>,
-          <Paragraph><code>/help</code>: Lists all commands</Paragraph>,
-          <Paragraph><code>/responses</code>: Lets you view responses to your servers form</Paragraph>,
-          <Paragraph><code>/manage</code>: Lets you manage your servers forms</Paragraph>,
-          <SectionHeading title="Services" id="services"/>,
-          <Paragraph>ClicksForms support services like <a href="https://forms.google.com">Google Forms</a> through our Add-on (Awaiting approval)</Paragraph>,
-          <Paragraph>Our API is public. You can view it on <a href="https://clicksminuteper.giuthub.io/docs/clicksforms">GitHub</a></Paragraph>,
-          <SectionHeading title="Invite" id="invite"/>,
-          <Paragraph>
-            ClicksForms is available for free on&nbsp;
-            <a href="https://discord.com/api/oauth2/authorize?client_id=805392054678192169&permissions=2416307200&scope=bot%20applications.commands" text="Discord">Discord</a>
-          </Paragraph>
-      ]}/>
+      <AutoSpacing>
+        <SectionHeading title="Features" id="features"/>
+        <TileRow>
+          <img alt="Anonymous forms"       src="/Features/ClicksForms/Anonymous.svg" />
+          <img alt="Discord buttons"       src="/Features/ClicksForms/Buttons.svg" />
+          <img alt="Export formats"        src="/Features/ClicksForms/Export.svg" />
+          <img alt="Up to 25 Forms"        src="/Features/ClicksForms/Forms.svg" />
+          <img alt="Multiple Choice"       src="/Features/ClicksForms/Multichoice.svg" />
+          <img alt="Up to 25 questions"    src="/Features/ClicksForms/Questions.svg" />
+          <img alt="Many question types"   src="/Features/ClicksForms/Types.svg" />
+          <img alt="Easily view responses" src="/Features/ClicksForms/Responses.svg" />
+        </TileRow>
+        <SectionHeading title="Commands" id="commands"/>
+        <Paragraph><code>/accept</code>: Completes a form you are asked to fill in</Paragraph>
+        <Paragraph><code>/apply</code>: Apply to a form</Paragraph>
+        <Paragraph><code>/create</code>: Creates a new form</Paragraph>
+        <Paragraph><code>/download</code>: Downloads a form from a service e.g. Google Forms</Paragraph>
+        <Paragraph><code>/help</code>: Lists all commands</Paragraph>
+        <Paragraph><code>/responses</code>: Lets you view responses to your servers form</Paragraph>
+        <Paragraph><code>/manage</code>: Lets you manage your servers forms</Paragraph>
+        <SectionHeading title="Services" id="services"/>
+        <Paragraph>ClicksForms support services like <a href="https://forms.google.com">Google Forms</a> through our Add-on (Awaiting approval)</Paragraph>
+        <Paragraph>Our API is public. You can view it on <a href="https://clicksminuteper.giuthub.io/docs/clicksforms">GitHub</a></Paragraph>
+        <SectionHeading title="Invite" id="invite"/>
+        <Paragraph>
+          ClicksForms is available for free on&nbsp;
+          <a href="https://discord.com/api/oauth2/authorize?client_id=805392054678192169&permissions=2416307200&scope=bot%20applications.commands" text="Discord">Discord</a>
+        </Paragraph>
+      </AutoSpacing>
     </>
   )
 }
diff --git a/pages/gps.js b/pages/gps.js
index 48f48e3..3249e04 100644
--- a/pages/gps.js
+++ b/pages/gps.js
@@ -22,12 +22,11 @@
         ]}
         hideArrow={true}
       />
-      <AutoSpacing
-        elements={[
+      <AutoSpacing>
           <SectionHeading title="Features" id="features"/>,
           <SectionHeading title="Commands" id="commands"/>,
           <SectionHeading title="Invite" id="invite"/>
-      ]}/>
+        </AutoSpacing>s
     </>
   )
 }
diff --git a/pages/index.js b/pages/index.js
index 91f31e9..fb0283f 100644
--- a/pages/index.js
+++ b/pages/index.js
@@ -18,89 +18,86 @@
         buttons={[]}
       />
       <p id="start" />
-      <AutoSpacing
-        elements={[
-          <SectionHeading title="Projects" />,
-          <CardRow tiles={[
-            <Card
-              wave="GS" title="GPS" subtext="Cards Against Humanity on Discord"
-              buttons={[
-                {color: "6576CC", link: "https://discordapp.com/oauth2/authorize?client_id=679361555732627476&scope=bot&permissions=130048", text: "Invite"},
-                {color: "6576CC", link: "/gps", text: "About"}
+      <AutoSpacing>
+        <SectionHeading title="Projects" />
+        <CardRow>
+          <Card
+            wave="GS" title="GPS" subtext="Cards Against Humanity on Discord"
+            buttons={[
+              {color: "6576CC", link: "https://discordapp.com/oauth2/authorize?client_id=679361555732627476&scope=bot&permissions=130048", text: "Invite"},
+              {color: "6576CC", link: "/gps", text: "About"}
             ]}
-              buttonText={"FFFFFF"} gradient={["78ECF2", "71AFE5"]}
-            />,
-            <Card
-              wave="RM" title="RSM" subtext="Moderation Redefined"
-              buttons={[
-                {color: "424242", link: "https://discord.com/api/oauth2/authorize?client_id=715989276382462053&permissions=121295465718&scope=bot%20applications.commands",text:"Invite"},
-                {color: "424242", link: "/rsm", text:"About"}
+            buttonText={"FFFFFF"} gradient={["78ECF2", "71AFE5"]}
+          />
+          <Card
+            wave="RM" title="RSM" subtext="Moderation Redefined"
+            buttons={[
+              {color: "424242", link: "https://discord.com/api/oauth2/authorize?client_id=715989276382462053&permissions=121295465718&scope=bot%20applications.commands",text:"Invite"},
+              {color: "424242", link: "/rsm", text:"About"}
             ]}
-              buttonText={"FFFFFF"} gradient={["F27878", "D96B6B"]}
-            />,
-            <Card
-              wave="CF" title="ClicksForms" subtext="Create custom forms for Discord"
-              buttons={[
-                {color: "775EBF", link: "https://clicksminuteper.github.io/docs/clicksforms", text:"API", newTab: true},
-                {color: "775EBF", link: "https://discord.com/api/oauth2/authorize?client_id=805392054678192169&permissions=2416307200&scope=bot%20applications.commands",text:"Invite"},
-                {color: "775EBF", link: "/clicksforms", text: "About"}
-              ]}
-              buttonText={"FFFFFF"} gradient={["71AFE5", "6576CC"]}
-            />,
-            <Card
-              wave="CA" title="Castaway" subtext="Stranded on Discord"
-              buttons={[
-                {color: "F2D478", link: "/", text: "Invite"},
-                {color: "F2D478", link: "/castaway", text: "About"}
-              ]}
-              buttonText={"000000"} gradient={["71AFE5", "78ECF2"]}
-            />,
-            <Card
-              wave="HY" title="Hooky" subtext="Webhook protection for Discord"
-              buttons={[
-                {color: "EDC575", link: "/", text: "Invite"},
-                {color: "EDC575", link: "/hooky", text: "About"}
-              ]}
-              buttonText={"000000"} gradient={["424242", "8D8D8D"]}
-            />,
-            <Card
-              wave="CL" title="Clcks" subtext="Clicks Minute Per web apps"
-              buttons={[
-                {color: "78ECF2", link: "https://clcks.dev", text: "View Apps"
-              }]}
-              buttonText={"000000"} gradient={["C4C4C4", "8D8D8D"]}
-            />
-          ]}
-        />,
-        <SectionHeading title="Code Bases" />,
-          <CardRow tiles={[
-            <Card
-              wave="GH" title="GitHub" subtext="View our open source projects"
-              buttons={[
-                {color: "424242", link: "https://github.com/clicksminuteper", text: "Visit"}
-              ]}
-              buttonText={"FFFFFF"} gradient={["FFFFFF", "C4C4C4"]}
-            />,
-            <Card
-              wave="PY" title="PyPi" subtext="View our modules for python"
-              buttons={[
-                {color: "FFC91E", link: "https://pypi.org/user/ClicksMinutePer/", text: "Visit"}
-              ]}
-              buttonText={"000000"} gradient={["2F6490", "3775A8"]}
-            />
-          ]}/>,
-          <SectionHeading title="Socials" />,
-          <CardRow tiles={[
-            <Card
-              wave="DS" title="Discord" subtext="Join our Discord server to talk with the community"
-              buttons={[
-                {color: "424242", link: "https://discord.gg/bPaNnxe", text: "Join"}
-              ]}
-              buttonText={"FFFFFF"} gradient={["404EED", "404EED"]}
-            />
-          ]}
-        />
-      ]}/>
+            buttonText={"FFFFFF"} gradient={["F27878", "D96B6B"]}
+          />
+          <Card
+            wave="CF" title="ClicksForms" subtext="Create custom forms for Discord"
+            buttons={[
+              {color: "775EBF", link: "https://clicksminuteper.github.io/docs/clicksforms", text:"API", newTab: true},
+              {color: "775EBF", link: "https://discord.com/api/oauth2/authorize?client_id=805392054678192169&permissions=2416307200&scope=bot%20applications.commands",text:"Invite"},
+              {color: "775EBF", link: "/clicksforms", text: "About"}
+            ]}
+            buttonText={"FFFFFF"} gradient={["71AFE5", "6576CC"]}
+          />
+          <Card
+            wave="CA" title="Castaway" subtext="Stranded on Discord"
+            buttons={[
+              {color: "F2D478", link: "/", text: "Invite"},
+              {color: "F2D478", link: "/castaway", text: "About"}
+            ]}
+            buttonText={"000000"} gradient={["71AFE5", "78ECF2"]}
+          />
+          <Card
+            wave="HY" title="Hooky" subtext="Webhook protection for Discord"
+            buttons={[
+              {color: "EDC575", link: "/", text: "Invite"},
+              {color: "EDC575", link: "/hooky", text: "About"}
+            ]}
+            buttonText={"000000"} gradient={["424242", "8D8D8D"]}
+          />
+          <Card
+            wave="CL" title="Clcks" subtext="Clicks Minute Per web apps"
+            buttons={[
+              {color: "78ECF2", link: "https://clcks.dev", text: "View Apps"
+            }]}
+            buttonText={"000000"} gradient={["C4C4C4", "8D8D8D"]}
+          />
+        </CardRow>
+        <SectionHeading title="Code Bases" />
+        <CardRow>
+          <Card
+            wave="GH" title="GitHub" subtext="View our open source projects"
+            buttons={[
+              {color: "424242", link: "https://github.com/clicksminuteper", text: "Visit"}
+            ]}
+            buttonText={"FFFFFF"} gradient={["FFFFFF", "C4C4C4"]}
+          />
+          <Card
+            wave="PY" title="PyPi" subtext="View our modules for python"
+            buttons={[
+              {color: "FFC91E", link: "https://pypi.org/user/ClicksMinutePer/", text: "Visit"}
+            ]}
+            buttonText={"000000"} gradient={["2F6490", "3775A8"]}
+          />
+        </CardRow>
+        <SectionHeading title="Socials" />
+        <CardRow>
+          <Card
+            wave="DS" title="Discord" subtext="Join our Discord server to talk with the community"
+            buttons={[
+              {color: "424242", link: "https://discord.gg/bPaNnxe", text: "Join"}
+            ]}
+            buttonText={"FFFFFF"} gradient={["404EED", "404EED"]}
+          />
+        </CardRow>
+      </AutoSpacing>
     </>
   )
 }
diff --git a/pages/rsm.js b/pages/rsm.js
index 46cd366..f7a21b8 100644
--- a/pages/rsm.js
+++ b/pages/rsm.js
@@ -22,24 +22,23 @@
         ]}
         hideArrow={true}
       />
-      <AutoSpacing
-        elements={[
-          <SectionHeading title="Features" id="features"/>,
-          <TileRow tiles={[
-            <img src="/Features/RSM/Images.svg" />,
-            <img src="/Features/RSM/Automate.svg" />,
-            <img src="/Features/RSM/CAPTCHA.svg" />,
-            <img src="/Features/RSM/Developed.svg" />,
-            <img src="/Features/RSM/Logging.svg" />,
-            <img src="/Features/RSM/NSFW.svg" />,
-            <img src="/Features/RSM/Punish.svg" />,
-            <img src="/Features/RSM/Raids.svg" />,
-            <img src="/Features/RSM/Statistics.svg" />,
-            <img src="/Features/RSM/Tags.svg" />
-          ]} />,
-          <SectionHeading title="Commands" id="commands"/>,
+      <AutoSpacing>
+          <SectionHeading title="Features" id="features"/>
+          <TileRow>
+            <img alt="Moderate images"      src="/Features/RSM/Images.svg" />
+            <img alt="Automate your server" src="/Features/RSM/Automate.svg" />
+            <img alt="CAPTCHA verification" src="/Features/RSM/CAPTCHA.svg" />
+            <img alt="Actively developed"   src="/Features/RSM/Developed.svg" />
+            <img alt="Advanced logging"     src="/Features/RSM/Logging.svg" />
+            <img alt="NSFW Moderation"      src="/Features/RSM/NSFW.svg" />
+            <img alt="Eaily punish users"   src="/Features/RSM/Punish.svg" />
+            <img alt="Stop raids quickly"   src="/Features/RSM/Raids.svg" />
+            <img alt="Track statistics"     src="/Features/RSM/Statistics.svg" />
+            <img alt="Custom tags"          src="/Features/RSM/Tags.svg" />
+          </TileRow>
+          <SectionHeading title="Commands" id="commands"/>
           <SectionHeading title="Invite" id="invite"/>
-      ]}/>
+      </AutoSpacing>
     </>
   )
 }
diff --git a/pages/rsmv/failure.js b/pages/rsmv/failure.js
index 31b721b..caca7c5 100644
--- a/pages/rsmv/failure.js
+++ b/pages/rsmv/failure.js
@@ -1,5 +1,5 @@
 import { Component } from 'react'
-import Styles from '../../styles/rsmv/rsmv.module.scss'
+import Header from '../../Components/Header'
 
 class Failed extends Component {
     constructor(props) {
@@ -8,15 +8,14 @@
 
     render() {
         return (
-        <div className={Styles.container}>
-
-            <div className={Styles.ServerHeader}>
-                <h4>
-                    Verification failed<br />
-                    Please try again, and if the error persists please contact us at <a href="mailto:verification@clicksminuteper.net" target="_blank">verification@clicksminuteper.net</a>
-                </h4> 
-            </div>
-        </div>
+            <Header
+                name="Verification failed"
+                subtext={<p>Please try again, and if the error persists please contact us at <a href="mailto:verification@clicksminuteper.net" target="_blank" rel="noopener noreferrer">verification@clicksminuteper.net</a></p>}
+                gradient={["F27878", "D96B6B"]}
+                wave="RM"
+                buttons={[]}
+                hideArrow={true}
+            />
         )
     }
 
diff --git a/pages/rsmv/index.js b/pages/rsmv/index.js
index 3b56943..141d171 100644
--- a/pages/rsmv/index.js
+++ b/pages/rsmv/index.js
@@ -54,7 +54,7 @@
     render() {
         return <>
             <Header
-                name={<><img style={{borderRadius: "50%"}} src={this.props.guild_icon_url} /><br />{this.props.guild_name}</>}
+                name={<><img alt="Server icon" style={{borderRadius: "50%"}} src={this.props.guild_icon_url} /><br />{this.props.guild_name}</>}
                 subtext={` ${this.props.memberCount} members`}
                 gradient={["F27878", "D96B6B"]}
                 wave="RM"
diff --git a/pages/rsmv/success.js b/pages/rsmv/success.js
index 66d2003..a1ed945 100644
--- a/pages/rsmv/success.js
+++ b/pages/rsmv/success.js
@@ -1,26 +1,22 @@
 import { Component } from 'react'
-import Styles from '../../styles/pages/rsmv.module.scss'
+import Styles from '../../styles/rsmv/rsmv.module.css'
+import Header from '../../Components/Header'
 
 class Success extends Component {
     constructor(props) {
         super(props)
     }
 
-
-
     render() {
         return (
-        <>
-        <div className={Styles.container}>
-            <div className={Styles.ServerHeader}>
-                <h4>
-                    Thank you for verifying.<br />
-                    You can now close this tab or window.
-                </h4>
-            </div>
-        </div>
-        <div style={{height:"38vh"}}></div>
-        </>
+            <Header
+                name="Verified"
+                subtext="You can now close this tab or window."
+                gradient={["65CC76", "60B258"]}
+                wave="RM"
+                buttons={[]}
+                hideArrow={true}
+            />
         )
     }
 
