diff --git a/crates/clawhdf5-format/src/superblock_ext.rs b/crates/clawhdf5-format/src/superblock_ext.rs
index e1d1cf3..40efd5c 100644
--- a/crates/clawhdf5-format/src/superblock_ext.rs
+++ b/crates/clawhdf5-format/src/superblock_ext.rs
@@ -21,13 +21,14 @@
//! file is never copied whole.
#[cfg(not(feature = "std"))]
-use alloc::{collections::BTreeSet, vec::Vec};
+use alloc::{borrow::Cow, collections::BTreeSet, vec::Vec};
#[cfg(feature = "std")]
-use std::collections::BTreeSet;
+use std::{borrow::Cow, collections::BTreeSet};
use crate::error::FormatError;
use crate::message_type::MessageType;
use crate::object_header::ObjectHeader;
+use crate::storage::{Storage, read_exact_at};
use crate::superblock::Superblock;
/// Message type of the File Space Info message.
@@ -169,6 +170,15 @@ impl<'a> Cursor<'a> {
pub fn read_superblock_extension(
data: &[u8],
sb: &Superblock,
+) -> Result