diff --git a/Components/AutoSpacing.js b/Components/AutoSpacing.js
index 2617949..e90da58 100644
--- a/Components/AutoSpacing.js
+++ b/Components/AutoSpacing.js
@@ -1,7 +1,7 @@
-import { Component } from "react";
+import react, { Component } from "react";
 import Styles from '../styles/autospacing.module.css';
 
-class CardRow extends Component {
+class AutoSpacing extends Component {
 	constructor(props) {
 		super(props);
 	}
@@ -11,7 +11,7 @@
 		return (
             <div className={Styles.container}>
 				{
-					this.props.elements.map((item, index) => {
+					react.Children.toArray(this.props.children).map((item, index) => {
 						return <div className={Styles.item} key={index}>{item}</div>
 					})
 				}
@@ -20,4 +20,4 @@
 	}
 }
 
-export default CardRow;
\ No newline at end of file
+export default AutoSpacing;
\ No newline at end of file
diff --git a/Components/Card.js b/Components/Card.js
index e8442de..c218093 100644
--- a/Components/Card.js
+++ b/Components/Card.js
@@ -12,10 +12,10 @@
                 backgroundImage:`linear-gradient(69.44deg, #${this.props.gradient[0]} 0%, #${this.props.gradient[1]} 100%)`,
                 margin: "0"
             }}>
-                <img className={Styles.backgroundImage} src={`/Waves/${this.props.wave}.svg`} />
+                <img alt="" className={Styles.backgroundImage} src={`/Waves/${this.props.wave}.svg`} />
                 <div className={Styles.panel}>
                     <div className={Styles.titleContainer}>
-                        <img className={Styles.image} src={"/Icons/" + this.props.wave + ".svg"} />
+                        <img alt="Project icon" className={Styles.image} src={"/Icons/" + this.props.wave + ".svg"} />
                         <h1 className={Styles.title}>{this.props.title}</h1>
                     </div>
                     <p className={Styles.subtext}>{this.props.subtext}</p>
@@ -27,7 +27,8 @@
                                     className={Styles.button}
                                     style={{backgroundColor:`#${button.color}`, color:`#${this.props.buttonText}`}}
                                     href={button.link}
-                                    target={button.newTab ? "_blank" : undefined}>{button.text}
+                                    target={button.newTab ? "_blank" : undefined}
+                                    rel="noreferror">{button.text}
                                 </a>
                             }) : null
                         }
diff --git a/Components/CardRow.js b/Components/CardRow.js
index d742944..77eb815 100644
--- a/Components/CardRow.js
+++ b/Components/CardRow.js
@@ -1,4 +1,4 @@
-import { Component } from "react";
+import react, { Component } from "react";
 import Styles from '../styles/cardrow.module.css';
 
 class CardRow extends Component {
@@ -11,7 +11,7 @@
 		return (
             <div className={Styles.container}>
 				{
-					this.props.tiles.map((item, index) => {
+					react.Children.toArray(this.props.children).map((item, index) => {
 						return <div className={Styles.item} key={index}>{item}</div>
 					})
 				}
diff --git a/Components/Header.js b/Components/Header.js
index 4a20a4b..e7f9fc5 100644
--- a/Components/Header.js
+++ b/Components/Header.js
@@ -13,7 +13,7 @@
                 backgroundImage:`linear-gradient(69.44deg, #${this.props.gradient[0]} 0%, #${this.props.gradient[1]} 100%)`,
                 margin: "0"
             }} id={this.props.id ? this.props.id : null}>
-                <img className={Styles.backgroundImage} src={`/Headers/${this.props.wave}.svg`} />
+                <img alt="" className={Styles.backgroundImage} src={`/Headers/${this.props.wave}.svg`} />
                 <div className={Styles.panel}>
                     <div className={Styles.titleContainer}>
                         <h1 className={Styles.title}>{this.props.name}</h1>
@@ -27,7 +27,8 @@
                                     className={Styles.button}
                                     style={{backgroundColor:`#${button.color}`, color:`#${button.buttonText}`}}
                                     href={button.link}
-                                    target={button.target ? "_blank" : null}>
+                                    target={button.target ? "_blank" : null}
+                                    rel="noreferror">
                                         {button.text}
                                 </a>
                             }) : null
@@ -35,7 +36,7 @@
                     </div>
                 </div>
                 <span className={Styles.arrowSpan + " " + (this.props.hideArrow ? Styles.arrowHidden : null)}>
-                    <a href="#start"><img src="/Arrow.svg" className={Styles.arrow} /></a>
+                    <a href="#start"><img alt="Down arrow" src="/Arrow.svg" className={Styles.arrow} /></a>
                 </span>
             </div>
 		)
diff --git a/Components/NavBar.js b/Components/NavBar.js
index a55c15e..23ad2be 100644
--- a/Components/NavBar.js
+++ b/Components/NavBar.js
@@ -62,16 +62,16 @@
             <>
                 <div ref={this.hoverSensor} className={this.isTouchDevice ? (Styles.container + " " + (this.state.isOpen ? Styles.containerOpen : null)) : Styles.containerDesktop + " " + Styles.container}>
                     <div className={Styles.group}>
-                        <img className={Styles.headerIcon} src="/Icons/CMP.svg" onClick={() => {this.onClick()}}/>
-                        <a href="/#"><img className={Styles.icon} src="/Icons/Homepage.svg"/></a>
-                        <a href="/gps#"><img className={Styles.icon} src="/Icons/GS.svg"/></a>
-                        <a href="/rsm#"><img className={Styles.icon} src="/Icons/RM.svg"/></a>
-                        <a href="/clicksforms#"><img className={Styles.icon} src="/Icons/CF.svg"/></a>
+                        <img alt="CMP" className={Styles.headerIcon} src="/Icons/CMP.svg" onClick={() => {this.onClick()}}/>
+                        <a href="/#"><img alt="Home" className={Styles.icon} src="/Icons/Homepage.svg"/></a>
+                        <a href="/gps#"><img alt="GPS" className={Styles.icon} src="/Icons/GS.svg"/></a>
+                        <a href="/rsm#"><img alt="RSM" className={Styles.icon} src="/Icons/RM.svg"/></a>
+                        <a href="/clicksforms#"><img alt="ClicksForms" className={Styles.icon} src="/Icons/CF.svg"/></a>
                         {/* <a href="/castaway#"><img className={Styles.icon} src="/Icons/CA.svg"/></a> */}
                         {/* <a href="https://clcks.dev"><img className={Styles.icon} src="/Icons/CL.svg"/></a> */}
                     </div>
                     <div className={Styles.group}>
-                        <a href="/#"><img className={Styles.icon} src="/Icons/CMP.svg"/></a>
+                        <a href="/#"><img alt="Theme" className={Styles.icon} src="/Icons/CMP.svg"/></a>
                     </div>
                 </div>
             </>
diff --git a/Components/SectionHeading.js b/Components/SectionHeading.js
index 0362f81..3e417bf 100644
--- a/Components/SectionHeading.js
+++ b/Components/SectionHeading.js
@@ -1,7 +1,7 @@
 import { Component } from "react";
 import Styles from '../styles/sectionheading.module.css';
 
-class CardRow extends Component {
+class SectionHeading extends Component {
 	constructor(props) {
 		super(props);
 	}
@@ -14,4 +14,4 @@
 	}
 }
 
-export default CardRow;
\ No newline at end of file
+export default SectionHeading;
\ No newline at end of file
diff --git a/Components/TileRow.js b/Components/TileRow.js
index c196cfe..408a18a 100644
--- a/Components/TileRow.js
+++ b/Components/TileRow.js
@@ -1,7 +1,7 @@
-import { Component } from "react";
+import react, { Component } from "react";
 import Styles from '../styles/tilerow.module.css';
 
-class CardRow extends Component {
+class TileRow extends Component {
 	constructor(props) {
 		super(props);
 	}
@@ -11,7 +11,7 @@
 		return (
             <div className={Styles.container}>
 				{
-					this.props.tiles.map((item, index) => {
+					react.Children.toArray(this.props.children).map((item, index) => {
 						return <div className={Styles.item} key={index}>{item}</div>
 					})
 				}
@@ -20,4 +20,4 @@
 	}
 }
 
-export default CardRow;
\ No newline at end of file
+export default TileRow;
\ No newline at end of file
