diff --git a/README.md b/README.md
index b607610..64bafc6 100644
--- a/README.md
+++ b/README.md
@@ -5,16 +5,48 @@
 
 ## Overview
 
-The foundational class is `Decoder`.
-
-Instances of `Decoder` read a given concrete subtype of `Value` from a
-[ByteBuffer][].  The class also contains factory methods to create
-those instances.
+Instances of `Decoder<T>` read a given type of GVariant-encoded value
+from a [ByteBuffer][].  The class also contains factory methods to
+acquire those instances.
 
 The various subclasses of `Decoder` together implement the [GVariant
 serialization][] specification.
 
 
+## Installation
+
+### Usage with Maven
+
+    <project>
+      ...
+    
+      <dependencies>
+        ...
+    
+        <dependency>
+          <groupId>eu.mulk.jgvariant</groupId>
+          <artifactId>jgvariant-core</artifactId>
+          <version>0.1.0</version>
+        </dependency>
+    
+        ...
+      </dependencies>
+    
+      ...
+    </project>
+
+
+### Usage with Gradle
+
+    dependencies {
+      ...
+    
+      implementation("eu.mulk.jgvariant:jgvariant-core:0.1.0")
+    
+      ...
+    }
+
+
 ## Example
 
 To parse a [GVariant][] value of type `"a(si)"`, which is an array of
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
index c0debad..4e358d2 100644
--- a/src/main/java/module-info.java
+++ b/src/main/java/module-info.java
@@ -3,7 +3,7 @@
  * serialization format.
  *
  * <p>The {@link eu.mulk.jgvariant.core} package contains the {@link eu.mulk.jgvariant.core.Decoder}
- * type. which forms the foundation of this library.
+ * type, which forms the foundation of this library.
  */
 module eu.mulk.jgvariant.core {
   requires com.google.errorprone.annotations;
