diff --git a/validation/src/check.rs b/validation/src/check.rs
index 0b428fa..5c5c3de 100644
--- a/validation/src/check.rs
+++ b/validation/src/check.rs
@@ -260,16 +260,33 @@ pub struct MapInfoOwned{
 
 // crazy!
 pub struct MapCheck<'a>{
+	// === METADATA CHECKS ===
+	// The root must be of class Model
 	model_class:StringCheck<'a,(),&'a str>,
+	// Model's name must be in snake case
 	model_name:StringCheck<'a,(),String>,
+	// Map must have a StringValue named DisplayName.
+	// Value must not be empty, must be in title case.
 	display_name:Result<StringEmptyCheck<StringCheck<'a,&'a str,String>>,StringValueError>,
+	// Map must have a StringValue named Creator.
+	// Value must not be empty.
 	creator:Result<StringEmptyCheck<&'a str>,StringValueError>,
+	// The prefix of the model's name must match the game it was submitted for.
+	// bhop_ for bhop, and surf_ for surf
 	game_id:Result<GameID,ParseGameIDError>,
+
+	// === MODE CHECKS ===
+	// MapStart must exist
 	mapstart:Result<(),()>,
+	// No duplicate map starts (including bonuses)
 	mode_start_counts:DuplicateCheck<ModeID>,
+	// At least one finish zone for each start zone, and no finishes with no start
 	mode_finish_counts:AtLeastOneMatchingAndNoExtraCheck<ModeID>,
+	// Spawn1 must exist
 	spawn1:Result<(),()>,
+	// No duplicate Spawn#
 	spawn_counts:DuplicateCheck<SpawnID>,
+	// No duplicate WormholeOut# (duplicate WormholeIn# ok)
 	wormhole_out_counts:DuplicateCheck<WormholeOutID>,
 }