diff --git a/MusicBoxConverter/MusicBoxScoreGenerator.cs b/MusicBoxConverter/MusicBoxScoreGenerator.cs
index e72ce34..b453ca0 100644
--- a/MusicBoxConverter/MusicBoxScoreGenerator.cs
+++ b/MusicBoxConverter/MusicBoxScoreGenerator.cs
@@ -17,6 +17,11 @@ namespace MusicBoxConverter
 
 		public float HoleSize { get; set; } = 1f;
 
+		public Vector2 ArrowSize { get; set; } = new Vector2(25, 25);
+		public float ArrowSpacing { get; set; } = 50f;
+		public float ArrowStrokeWidth { get; set; } = 8;
+		public string ArrowColour { get; set; } = "#dacef3";
+
         private int trackLength;
         public int TrackLength
         {
@@ -73,6 +78,26 @@ namespace MusicBoxConverter
 				UnitSuffix = "mm"
 			};
 
+			// Draw directional arrows down the score
+			for (float i = 0; i < area.X; i += ArrowSpacing)
+			{
+				Vector2 arrowPos = new Vector2(i, area.Y / 2 + Offset.Y);
+
+				svg.WriteLine(
+					arrowPos.Subtract(ArrowSize),
+					arrowPos,
+					ArrowColour,
+					ArrowStrokeWidth
+				);
+				svg.WriteLine(
+					arrowPos,
+					arrowPos.Subtract(new Vector2(ArrowSize.X, -ArrowSize.Y)),
+					ArrowColour,
+					ArrowStrokeWidth
+				);
+			}
+
+
 			// Draw a marker at the beginning of the score
 			svg.WriteRectangle(
 				new Vector2(Offset.X / 2, Offset.Y),
@@ -115,13 +140,21 @@ namespace MusicBoxConverter
 					);
 				}
 
+				Vector2 holePosition = new Vector2(
+					Offset.X + note.Time * ScaleFactor.X,
+					Offset.Y + ((SelectedMusicBox.NoteCount - 1) - SelectedMusicBox.NoteToBoxNumber(note)) * ScaleFactor.Y
+				);
+
 				svg.WriteCircle(
-					new Vector2(
-						Offset.X + note.Time * ScaleFactor.X,
-						Offset.Y + ((SelectedMusicBox.NoteCount-1) - SelectedMusicBox.NoteToBoxNumber(note)) * ScaleFactor.Y
-					),
+					holePosition,
 					HoleSize // radius
 				);
+
+				svg.WriteCross(
+					holePosition,
+					new Vector2(HoleSize, HoleSize)
+				);
+
 			}
 
 			svg.Complete();
diff --git a/MusicBoxConverter/SvgWriter.cs b/MusicBoxConverter/SvgWriter.cs
index acff76b..0302c76 100644
--- a/MusicBoxConverter/SvgWriter.cs
+++ b/MusicBoxConverter/SvgWriter.cs
@@ -69,6 +69,40 @@ namespace MusicBoxConverter
 			xml.WriteEndElement();
 		}
 
+		public void WritePolyLine(string strokeStyle, float strokeWidth, params Vector2[] points)
+		{
+			xml.WriteStartElement("polyline");
+			xml.WriteAttributeString("points", string.Join(" ", points.Select((Vector2 p) => $"{p.X},{p.Y}")));
+			xml.WriteAttributeString("stroke", strokeStyle);
+			xml.WriteAttributeString("stroke-width", strokeWidth.ToString());
+			xml.WriteAttributeString("fill", "none");
+			xml.WriteEndElement();
+		}
+
+		/// <summary>
+		/// Adds a cross centred on a point.
+		/// </summary>
+		/// <param name="centre">The centre of the cross.</param>
+		/// <param name="radius">The radius of the cross.</param>
+		/// <param name="strokeStyle">The stroke style to draw with.</param>
+		/// <param name="strokeWidth">The stroke width to draw with.</param>
+		public void WriteCross(Vector2 centre, Vector2 radius, string strokeStyle = "red", float strokeWidth = 1)
+		{
+			WriteLine(
+				centre.Subtract(new Vector2(radius.X, radius.Y)),
+				centre.Add(new Vector2(radius.X, radius.Y)),
+				strokeStyle,
+				strokeWidth
+			);
+			WriteLine(
+				centre.Subtract(new Vector2(radius.X, -radius.Y)),
+				centre.Add(new Vector2(radius.X, -radius.Y)),
+				strokeStyle,
+				strokeWidth
+			);
+
+		}
+
 		public void StartScaleTransform(float scale)
 		{
 			xml.WriteStartElement("g");
diff --git a/MusicBoxConverter/Utilities/Vector2.cs b/MusicBoxConverter/Utilities/Vector2.cs
index 1e3f502..580f1f2 100644
--- a/MusicBoxConverter/Utilities/Vector2.cs
+++ b/MusicBoxConverter/Utilities/Vector2.cs
@@ -77,6 +77,10 @@ namespace SBRL.Utilities
 				Y * b.Y
 			);
 		}
+
+		public override string ToString() {
+			return $"[Vector2 {X}, {Y}]";
+		}
 	}
 }
 
diff --git a/README.md b/README.md
index c5fd763..52bb846 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,20 @@
 
 > Converts MIDI files into music box scores that are ready to print.
 
+## Getting Started
+This program is written in C&sharp;. To get started, first clone this repository and compile it:
+
+```bash
+git clone https://git.starbeamrainbowlabs.com/sbrl/MusicBoxConverter.git
+cd MusicBoxConverter
+msbuild
+```
+
+If you're on Windows, you'll either need to use a _Visual Studio Developer Command Prompt_ or open the solution file in _Visual Studio_ itself.
+
+Alternatively, you can 
+
+
 ## Usage
 1. Export the MuseScore file to a MIDI file
 2. Run the MIDI file through this program.
