diff --git a/src/program.c b/src/program.c
index 96640fb..969dbb2 100644
--- a/src/program.c
+++ b/src/program.c
@@ -1,6 +1,7 @@
 #include "program.h"
 #include "tilemap.h"
 #include "camera.h"
+#include "sprite.h"
 #include <SDL2/SDL_video.h>
 #include <SDL2/SDL_image.h>
 
@@ -25,19 +26,13 @@ int program_run(const struct ProgramSettings* settings) {
     render_init(g_window, settings);
     camera_init();
 
-    struct Tilemap map = tilemap_load("resources/box.tilemap.xml");
-    struct Tileset set = {
-        .texture = IMG_LoadTexture(g_renderer, "resources/ts_castle.png"),
-        .tile_size = {32, 32},
-        .shear = 10
-    };
-    SDL_QueryTexture(set.texture, NULL, NULL, &set.texture_resolution.x, &set.texture_resolution.y);
-    map.tileset = set;
+    Spritesheet* sheet = spritesheet_from_texture("resources/player.png", (IVector){64, 64});
+    Sprite* sprite = sprite_from_spritesheet(sheet);
 
     for(;;) {
         SDL_Delay(1);
         program_handle_events();
-        tilemap_render(&map);
+        sprite_draw(sprite, IdentityTransform);
         render_present();
     }