diff --git a/examples/sprite-test/CMakeLists.txt b/examples/sprite-test/CMakeLists.txt
index 88ae77a..ea2de68 100644
--- a/examples/sprite-test/CMakeLists.txt
+++ b/examples/sprite-test/CMakeLists.txt
@@ -2,3 +2,4 @@
 project (sprite-test)
 include (../../32blit.cmake)
 blit_executable (sprite-test sprite-test.cpp)
+blit_assets_yaml(sprite-test assets.yml)
diff --git a/examples/sprite-test/assets.yml b/examples/sprite-test/assets.yml
new file mode 100644
index 0000000..f0b7432
--- /dev/null
+++ b/examples/sprite-test/assets.yml
@@ -0,0 +1,3 @@
+assets.cpp:
+  ../../assets/s4m_ur4i-dingbads.png:
+    name: asset_dingbads
diff --git a/examples/sprite-test/sprite-test.cpp b/examples/sprite-test/sprite-test.cpp
index 6b0f7d7..6b545ee 100644
--- a/examples/sprite-test/sprite-test.cpp
+++ b/examples/sprite-test/sprite-test.cpp
@@ -4,6 +4,7 @@
 #include <cstdlib>
 
 #include "sprite-test.hpp"
+#include "assets.hpp"
 
 using namespace blit;
 
@@ -12,6 +13,9 @@
 
 /* setup */
 void init() {
+  // You gotta load those tasty sprites first
+  // "asset_dingbads" is the asset name defined in assets.yml
+  screen.sprites = SpriteSheet::load(asset_dingbads);
 }
 
 int tick_count = 0;
@@ -22,11 +26,45 @@
   screen.alpha = 255;
   screen.mask = nullptr;
 
+  // draw grid
+  screen.alpha = 255;
+  screen.pen = Pen(255, 255, 255);
+  screen.rectangle(Rect(0, 0, 320, 14));
+
+  screen.text("Apple", minimal_font, Point(5, 20));
+  screen.text("Skull", minimal_font, Point(5, 40));
+  screen.text("Flowers", minimal_font, Point(5, 60));
+
+  screen.pen = Pen(0, 0, 0);
+  screen.text("Sprite demo", minimal_font, Point(5, 4));
+
   uint32_t ms_start = now();
 
+  // Draw a sprite using its numerical index into the sprite sheet
+  // Treats the sprite sheet as a grid of 8x8 sprites numbered from 0 to 63
+  // In this case sprite number 1 is the second sprite from the top row.
+  // It should be an apple! Munch!
+  screen.sprite(1, Point(60, 20));
+
+  // Draw a sprite using its X/Y position from the sprite sheet
+  // Treats the sprite sheet as a grid of 8x8 sprites
+  // numbered 0 to 15 across and 0 to 15 down!
+  // In this case we draw the sprite from:
+  // The 10th position across (0 based, remember!)
+  // The 3rd position down.
+  // It should be a skull! Yarr!
+  screen.sprite(Point(9, 2), Point(60, 40));
+
+  // Draw a group of sprites starting from an X/Y position, with a width/height
+  // Treats the sprite sheet a grid of 8x8 sprites and selects a group of them defined by a Rect(x, y, w, h)
+  // The width and height are measured in sprites.
+  // In this case we draw three sprites from the 6th column on the 12th row.
+  // It should be a row of flowers! Awww!
+  screen.sprite(Rect(5, 11, 3, 1), Point(60, 60));
 
   uint32_t ms_end = now();
 
+
   // draw FPS meter
   screen.alpha = 255;
   screen.pen = Pen(255, 255, 255, 100);
