diff --git a/src/ppu.rs b/src/ppu.rs
index 5cd7c659b49f07fb5edae9121d65b39a238ceaed..45091f784b5cd90f4c91b624527e6e11f8c8f134 100644
--- a/src/ppu.rs
+++ b/src/ppu.rs
@@ -27,7 +27,7 @@ pub type Pixel = [u8; RGB_SIZE];
 /// should contain the pixel buffer of the tile.
 #[derive(Clone, Copy, PartialEq)]
 pub struct Tile {
-    pub buffer: [u8; 64],
+    buffer: [u8; 64],
 }
 
 impl Tile {
@@ -38,6 +38,10 @@ impl Tile {
     pub fn set(&mut self, x: usize, y: usize, value: u8) {
         self.buffer[y * 8 + x] = value;
     }
+
+    pub fn buffer(&self) -> Vec<u8> {
+        self.buffer.to_vec()
+    }
 }
 
 impl Display for Tile {