diff --git a/gp2040ce_bintools/storage.py b/gp2040ce_bintools/storage.py
index 7431f35..61093bb 100644
--- a/gp2040ce_bintools/storage.py
+++ b/gp2040ce_bintools/storage.py
@@ -143,7 +143,7 @@ def get_config_from_file(filename: str, whole_board: bool = False, allow_no_file
         return config_pb2.Config()
 
     if whole_board:
-        return get_config(get_storage_section(content))
+        return get_config(get_user_storage_section(content))
     else:
         return get_config(content)
 
@@ -173,9 +173,29 @@ def get_user_config_from_usb() -> tuple[Message, object, object]:
     return get_config_from_usb(USER_CONFIG_BOOTSEL_ADDRESS)
 
 
-def get_storage_section(content: bytes) -> bytes:
+def get_storage_section(content: bytes, address: int) -> bytes:
     """Pull out what should be the GP2040-CE storage section from a whole board dump.
 
+    Args:
+        content: bytes of a GP2040-CE whole board dump
+        address: location of the binary file to start reading from
+    Returns:
+        the presumed storage section from the binary
+    Raises:
+        ConfigLengthError: if the provided bytes don't appear to have a storage section
+    """
+    # a whole board must be at least as big as the known fences
+    logger.debug("length of content to look for storage in: %s", len(content))
+    if len(content) < address + STORAGE_SIZE:
+        raise ConfigLengthError("provided content is not large enough to have a storage section!")
+
+    logger.debug("returning bytes from %s to %s", hex(address), hex(address + STORAGE_SIZE))
+    return content[address:(address + STORAGE_SIZE)]
+
+
+def get_user_storage_section(content: bytes) -> bytes:
+    """Get the user storage area from what should be a whole board GP2040-CE dump.
+
     Args:
         content: bytes of a GP2040-CE whole board dump
     Returns:
@@ -183,14 +203,7 @@ def get_storage_section(content: bytes) -> bytes:
     Raises:
         ConfigLengthError: if the provided bytes don't appear to have a storage section
     """
-    # a whole board must be at least as big as the known fences
-    logger.debug("length of content to look for storage in: %s", len(content))
-    if len(content) < USER_CONFIG_BINARY_LOCATION + STORAGE_SIZE:
-        raise ConfigLengthError("provided content is not large enough to have a storage section!")
-
-    logger.debug("returning bytes from %s to %s", hex(USER_CONFIG_BINARY_LOCATION),
-                 hex(USER_CONFIG_BINARY_LOCATION + STORAGE_SIZE))
-    return content[USER_CONFIG_BINARY_LOCATION:(USER_CONFIG_BINARY_LOCATION + STORAGE_SIZE)]
+    return get_storage_section(content, USER_CONFIG_BINARY_LOCATION)
 
 
 def get_new_config() -> Message:
diff --git a/tests/test_builder.py b/tests/test_builder.py
index e517bf0..860e161 100644
--- a/tests/test_builder.py
+++ b/tests/test_builder.py
@@ -15,7 +15,8 @@ from gp2040ce_bintools.builder import (FirmwareLengthError, combine_firmware_and
                                        concatenate_firmware_and_storage_files, get_gp2040ce_from_usb,
                                        pad_binary_up_to_user_config, replace_config_in_binary,
                                        write_new_config_to_filename, write_new_config_to_usb)
-from gp2040ce_bintools.storage import get_config, get_config_footer, get_storage_section, serialize_config_with_footer
+from gp2040ce_bintools.storage import (get_config, get_config_footer, get_user_storage_section,
+                                       serialize_config_with_footer)
 
 HERE = os.path.dirname(os.path.abspath(__file__))
 
@@ -93,7 +94,7 @@ def test_firmware_plus_storage(firmware_binary, storage_dump):
     """Test that combining firmware and storage produces a valid combined binary."""
     whole_board = combine_firmware_and_config(firmware_binary, storage_dump)
     # if this is valid, we should be able to find the storage and footer again
-    storage = get_storage_section(whole_board)
+    storage = get_user_storage_section(whole_board)
     footer_size, _, _ = get_config_footer(storage)
     assert footer_size == 3309
 
@@ -102,7 +103,7 @@ def test_firmware_plus_config_binary(firmware_binary, config_binary):
     """Test that combining firmware and storage produces a valid combined binary."""
     whole_board = combine_firmware_and_config(firmware_binary, config_binary)
     # if this is valid, we should be able to find the storage and footer again
-    storage = get_storage_section(whole_board)
+    storage = get_user_storage_section(whole_board)
     footer_size, _, _ = get_config_footer(storage)
     assert footer_size == 3309
 
@@ -111,7 +112,7 @@ def test_chunky_firmware_plus_config_binary(config_binary):
     """Test that combining giant firmware and storage produces a valid combined binary."""
     whole_board = combine_firmware_and_config(bytearray(b'\x00' * 4 * 1024 * 1024), config_binary, replace_extra=True)
     # if this is valid, we should be able to find the storage and footer again
-    storage = get_storage_section(whole_board)
+    storage = get_user_storage_section(whole_board)
     footer_size, _, _ = get_config_footer(storage)
     assert footer_size == 3309
 
@@ -121,7 +122,7 @@ def test_replace_config_in_binary(config_binary):
     whole_board = replace_config_in_binary(bytearray(b'\x00' * 3 * 1024 * 1024), config_binary)
     assert len(whole_board) == 3 * 1024 * 1024
     # if this is valid, we should be able to find the storage and footer again
-    storage = get_storage_section(whole_board)
+    storage = get_user_storage_section(whole_board)
     footer_size, _, _ = get_config_footer(storage)
     assert footer_size == 3309
 
@@ -131,7 +132,7 @@ def test_replace_config_in_binary_not_big_enough(config_binary):
     whole_board = replace_config_in_binary(bytearray(b'\x00' * 1 * 1024 * 1024), config_binary)
     assert len(whole_board) == 2 * 1024 * 1024
     # if this is valid, we should be able to find the storage and footer again
-    storage = get_storage_section(whole_board)
+    storage = get_user_storage_section(whole_board)
     footer_size, _, _ = get_config_footer(storage)
     assert footer_size == 3309
 
@@ -152,7 +153,7 @@ def test_write_new_config_to_whole_board(whole_board_dump, tmp_path):
     with open(tmp_file, 'rb') as file:
         board_dump = file.read()
 
-    config = get_config(get_storage_section(board_dump))
+    config = get_config(get_user_storage_section(board_dump))
     assert config.boardVersion == 'v0.7.5'
     config.boardVersion = 'v0.7.5-COOL'
     write_new_config_to_filename(config, tmp_file, inject=True)
@@ -160,7 +161,7 @@ def test_write_new_config_to_whole_board(whole_board_dump, tmp_path):
     # read new file
     with open(tmp_file, 'rb') as file:
         new_board_dump = file.read()
-    config = get_config(get_storage_section(new_board_dump))
+    config = get_config(get_user_storage_section(new_board_dump))
     assert config.boardVersion == 'v0.7.5-COOL'
     assert len(board_dump) == len(new_board_dump)
 
@@ -180,7 +181,7 @@ def test_write_new_config_to_firmware(firmware_binary, tmp_path):
     # read new file
     with open(tmp_file, 'rb') as file:
         new_board_dump = file.read()
-    config = get_config(get_storage_section(new_board_dump))
+    config = get_config(get_user_storage_section(new_board_dump))
     assert config.boardVersion == 'v0.7.5-COOL'
     assert len(new_board_dump) == 2 * 1024 * 1024
 
diff --git a/tests/test_storage.py b/tests/test_storage.py
index b5f6a70..48f6548 100644
--- a/tests/test_storage.py
+++ b/tests/test_storage.py
@@ -50,7 +50,7 @@ def test_config_footer_too_small(storage_dump):
 def test_whole_board_too_small(whole_board_dump):
     """Test that a storage section isn't detected if the size is too small to contain where it should be."""
     with pytest.raises(storage.ConfigLengthError):
-        _, _, _ = storage.get_storage_section(whole_board_dump[-100000:])
+        _, _, _ = storage.get_user_storage_section(whole_board_dump[-100000:])
 
 
 def test_config_footer_bad_magic(storage_dump):
@@ -121,7 +121,7 @@ def test_config_parses(storage_dump):
 @with_pb2s
 def test_config_from_whole_board_parses(whole_board_dump):
     """Test that we can read in a whole board and still find the config section."""
-    config = storage.get_config(storage.get_storage_section(whole_board_dump))
+    config = storage.get_config(storage.get_user_storage_section(whole_board_dump))
     assert config.boardVersion == 'v0.7.5'
     assert config.hotkeyOptions.hotkey01.dpadMask == 0
     assert config.hotkeyOptions.hotkey02.dpadMask == 1