diff --git a/README.md b/README.md
index 64bafc6..6ba03ee 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,24 @@
 serialization][] specification.
 
 
+## Example
+
+To parse a [GVariant][] value of type `"a(si)"`, which is an array of
+pairs of [String][] and `int`, you can use the following code:
+
+    record ExampleRecord(String s, int i) {}
+    
+    var decoder =
+      Decoder.ofArray(
+        Decoder.ofStructure(
+          ExampleRecord.class,
+          Decoder.ofString(StandardCharsets.UTF_8),
+          Decoder.ofInt().withByteOrder(ByteOrder.LITTLE_ENDIAN)));
+    
+    byte[] bytes = ...;
+    List<ExampleRecord> example = decoder.decode(ByteBuffer.wrap(bytes));
+
+
 ## Installation
 
 ### Usage with Maven
@@ -47,24 +65,6 @@
     }
 
 
-## Example
-
-To parse a [GVariant][] value of type `"a(si)"`, which is an array of
-pairs of [String][] and `int`, you can use the following code:
-
-    record ExampleRecord(String s, int i) {}
-    
-    var decoder =
-      Decoder.ofArray(
-        Decoder.ofStructure(
-          ExampleRecord.class,
-          Decoder.ofString(StandardCharsets.UTF_8),
-          Decoder.ofInt().withByteOrder(ByteOrder.LITTLE_ENDIAN)));
-    
-    byte[] bytes = ...;
-    List<ExampleRecord> example = decoder.decode(ByteBuffer.wrap(bytes));
-
-
 [ByteBuffer]: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/ByteBuffer.html
 [GVariant]: https://docs.gtk.org/glib/struct.Variant.html
 [GVariant serialization]: https://people.gnome.org/~desrt/gvariant-serialisation.pdf
