diff --git a/include/dawn/dawn.h b/include/dawn/dawn.h
index e84817b9..7560f1c3 100644
--- a/include/dawn/dawn.h
+++ b/include/dawn/dawn.h
@@ -10,7 +10,6 @@
 #include "display/animation/easing.h"
 #include "display/animation/queue.h"
 #include "display/animation/timeline.h"
-#include "display/debug/grid.h"
 
 #include "display/gui/bitmapfont.h"
 #include "display/gui/font.h"
diff --git a/include/dawn/display/debug/grid.h b/include/dawn/display/debug/grid.h
deleted file mode 100644
index eec229b1..00000000
--- a/include/dawn/display/debug/grid.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Copyright (c) 2021 Dominic Masters
- * 
- * This software is released under the MIT License.
- * https://opensource.org/licenses/MIT
- */
-
-#pragma once
-#include "../../libs.h"
-
-#define GRID_COLUMN_ROWS 100
-#define GRID_COLUMN_ROWS_SIZE 0.1
-
-#define GRID_VERTICE_COUNT (GRID_COLUMN_ROWS+1) * (GRID_COLUMN_ROWS+1) * 3
-#define GRID_INDICE_COUNT GRID_COLUMN_ROWS * GRID_COLUMN_ROWS * 8
-
-typedef struct {
-  GLuint vertexBuffer;
-  GLuint indexBuffer;
-} griddebug_t;
\ No newline at end of file
diff --git a/include/dawn/display/primitive.h b/include/dawn/display/primitive.h
index 2239e649..27af3cfd 100644
--- a/include/dawn/display/primitive.h
+++ b/include/dawn/display/primitive.h
@@ -13,16 +13,22 @@
 
 /** Structure containing information about a primitive */
 typedef struct {
+  /** How many vertices are in the primitive */
   int32_t verticeCount;
+  /** How many indices are in the primitive */
   int32_t indiceCount;
 
+  /** Pointer to the vertex buffer on the GPU */
   GLuint vertexBuffer;
+  /** Pointer to the index buffer on the GPU */
   GLuint indexBuffer;
 } primitive_t;
 
 /** Structure containing vertice position information */
 typedef struct {
+  /** Coordinates */
   float x, y, z;
+  /** Texture UVs */
   float u, v;
 } vertice_t;
 
diff --git a/include/dawn/display/texture.h b/include/dawn/display/texture.h
index 885d1767..95b874c6 100644
--- a/include/dawn/display/texture.h
+++ b/include/dawn/display/texture.h
@@ -12,12 +12,16 @@
  * store the pixels in memory because we don't need to!
  */
 typedef struct {
+  /** Width (in pixels) of the texture */
   int32_t width;
+  /** Height (in pixels) of the texture */
   int32_t height;
+  /** Texture ID on the GPU */
   GLuint id;
 } texture_t;
 
 /** Information about a single pixel. */
 typedef struct {
+  /** RGBA Color values */
   uint8_t r, g, b, a;
 } pixel_t;
diff --git a/include/dawn/file/asset.h b/include/dawn/file/asset.h
index 61997e9f..c5a9f48e 100644
--- a/include/dawn/file/asset.h
+++ b/include/dawn/file/asset.h
@@ -9,4 +9,5 @@
 /** Prefix of all asset load methods, may be customizable in future. */
 #define ASSET_PREFIX "../assets/"
 
+/** Definition of an asset ready to be buffered */
 typedef FILE assetbuffer_t;
\ No newline at end of file
diff --git a/include/dawn/locale/language.h b/include/dawn/locale/language.h
index a3e6db51..e5b5e38e 100644
--- a/include/dawn/locale/language.h
+++ b/include/dawn/locale/language.h
@@ -10,7 +10,9 @@
 #include "../file/asset.h"
 #include "../file/csv.h"
 
+/** Column name for the KEY within the CSV */
 #define LANGUAGE_HEADER_KEY "Key"
+/** Column name for the VALUE within the CSV */
 #define LANGUAGE_HEADER_VALUE "Value"
 
 /** Definition for a Language */
diff --git a/include/dawn/poker/turn.h b/include/dawn/poker/turn.h
index 4111a2a6..a23ca1ab 100644
--- a/include/dawn/poker/turn.h
+++ b/include/dawn/poker/turn.h
@@ -13,8 +13,12 @@
 #define POKER_TURN_TYPE_BET 0x02
 #define POKER_TURN_TYPE_CHECK 0x03
 
+/** The turn that a player/the AI decided to do for its turn */
 typedef struct {
+  /** What type of action the turn is */
   uint8_t type;
+  /** How many chips they did in their turn (if applicable) */
   int32_t chips;
+  /** How confident the AI is about their turn. */
   float confidence;
 } pokerturn_t;
\ No newline at end of file
diff --git a/include/dawn/ui/frame.h b/include/dawn/ui/frame.h
index 4a6554ff..f26289fa 100644
--- a/include/dawn/ui/frame.h
+++ b/include/dawn/ui/frame.h
@@ -10,8 +10,11 @@
 #include "../display/primitive.h"
 #include "../display/gui/font.h"
 
+/** Size of the border (in pixels) on each edge */
 #define FRAME_BORDER_SIZE 16
+/** Total border size for a given frame on each axis */
 #define FRAME_BORDER_SIZE_FULL FRAME_BORDER_SIZE * 2
+/** How many quads are within the frame */
 #define FRAME_PRIMITIVE_COUNT 9
 
 typedef struct {
diff --git a/include/dawn/util/math.h b/include/dawn/util/math.h
index 8be1acc7..f703da5d 100644
--- a/include/dawn/util/math.h
+++ b/include/dawn/util/math.h
@@ -11,10 +11,55 @@
  * @param b Number to modulo with. (a % b)
  */
 #define mathMod(a,b)  (a%b+b)%b
+
+/**
+ * Returns the maximum of two numbers.
+ * @param a Number A.
+ * @param b Number B.
+ * @returns B if greater than A, otherwise B.
+ */
 #define mathMax(a,b)  (a<b?b:a)
+
+/**
+ * Returns the minimum of two numbers.
+ * @param a Number A.
+ * @param b Number B.
+ * @returns B if smaller than A, otherwise A.
+ */
 #define mathMin(a,b)  (a>b?b:a)
+
+/**
+ * Clamp a number between two numbers.
+ * @param val Value to clamp.
+ * @param min The minimum number to clamp to.
+ * @param max The maximum number to clamp to.
+ */
+#define mathClamp(val,min,max) mathMin(mathMax(val,min),max)
+
+/**
+ * Returns the absolute value. This will make -n equal n and y equal y.
+ * @param n Number to abs.
+ * @returns The absolute number.
+ */
 #define mathAbs(n)    (n<0?-n:n)
+
+/**
+ * Convert degrees to radians.
+ * @param n Degrees to convert.
+ * @returns The number in radians.
+ */
 #define mathDeg2Rad(n) (n * M_PI / 180.0)
+
+/**
+ * Convert radians to degrees.
+ * @param n Radians to convert.
+ * @returns The number in degrees.
+ */
 #define mathRad2Deg(n) (n * 180 / M_PI)
-#define mathSign(n) (n>=0 ? 1 : -1)
-#define mathClamp(val,min,max) mathMin(mathMax(val,min),max)
\ No newline at end of file
+
+/**
+ * Sign the given number, essentially clamps > 0 to 1, and < 0 to -1.
+ * @param n Number to sign.
+ * @returns The signed number.
+ */
+#define mathSign(n) (n>=0 ? 1 : -1)
\ No newline at end of file