diff --git a/src/map_query.rs b/src/map_query.rs
index 6ad34d7b9f47850921096370de3663e23d80b43c..29afdd83d5e5722cc984da1ad4e13d8743357130 100644
--- a/src/map_query.rs
+++ b/src/map_query.rs
@@ -74,38 +74,29 @@ impl<'w, 's> MapQuery<'w, 's> {
 	// --- call the static accessors on whatever the current level is
 
 	pub fn for_each_layer_of(level: &LdtkLevel, mut cb: impl FnMut(&LdtkLayer)) {
-		for layer in level.layers().rev() {
+		for layer in level.layers() {
 			cb(layer);
 		}
 	}
 
 	pub fn get_entities_of(level: &LdtkLevel) -> Vec<&EntityInstance> {
 		level
-			.level_ref()
-			.layer_instances
-			.as_ref()
-			.map(|layers| {
-				layers
-					.iter()
-					.flat_map(|layer| layer.entity_instances.iter())
-					.collect()
-			})
-			.unwrap_or_default()
+			.layers()
+			.flat_map(|layer| layer.as_ref().entity_instances.iter())
+			.collect()
 	}
 
 	pub fn get_instance_refs_of(level: &LdtkLevel) -> Vec<InstanceRef> {
 		level
-			.level_ref()
-			.layer_instances
-			.as_ref()
-			.map(|layers| {
-				layers
+			.layers()
+			.flat_map(|layer| {
+				layer
+					.as_ref()
+					.entity_instances
 					.iter()
-					.flat_map(|layer| layer.entity_instances.iter())
 					.map(|inst| InstanceRef { entity: inst })
-					.collect()
 			})
-			.unwrap_or_default()
+			.collect()
 	}
 
 	pub fn get_filtered_entities_of(