diff --git a/README.md b/README.md
index 461695e..a47b132 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,15 @@
# kxio
-`kxio` is a Rust library that provides injectable `FileSystem` and `Network`
-resources to enhance the testability of your code. By abstracting system-level
-interactions, `kxio` enables easier mocking and testing of code that relies on
-file system and network operations.
+`kxio` is a Rust library that provides injectable `FileSystem`, `Network` and
+`Print` resources to enhance the testability of your code. By abstracting
+system-level interactions, `kxio` enables easier mocking and testing of code
+that relies on file system and network operations.
## Features
- **Filesystem Abstraction**
- **Network Abstraction**
+- **Print Abstraction**
- **Enhanced Testability**
## Filesystem
@@ -30,6 +31,27 @@ The Network module offers a testable interface over the `reqwest` crate. For
comprehensive documentation and usage examples, please refer to
+## Print
+
+The Print module provides three implementations of the `Printer` trait:
+
+- `StandardPrint` - behaves as normal, printing to `STDOUT` and `STDERR`
+- `NullPrint` - swallows all prints, outputting nothing
+- `TestPrint` - captures all print output and makes it available for assertions in tests
+
+It also provides macros to use with each:
+
+- `kxprintln`
+- `kxprint`
+- `kxeprintln`
+- `kxeprint`
+
+They are analogous to the `std` macros: `println`, `print`, `eprintln` and `eprint` respectively.
+
+Each of the `kx{e}print{ln}` macros takes a reference to an instance of the `Printer` trait as the first parameter.
+
+For comprehensive documentation and usage examples, please refer to
+
## Getting Started
Add `kxio` to your `Cargo.toml`:
diff --git a/src/print/macros.rs b/src/print/macros.rs
index ea68cdd..c2198b8 100644
--- a/src/print/macros.rs
+++ b/src/print/macros.rs
@@ -1,3 +1,5 @@
+/// Macro to print the expression to the `Printer` with a trailing newline.
+///
#[macro_export]
macro_rules! kxprintln {
($printer:expr, $($arg:tt)*) => {{
diff --git a/src/print/mod.rs b/src/print/mod.rs
index 3b68591..a7215ad 100644
--- a/src/print/mod.rs
+++ b/src/print/mod.rs
@@ -11,6 +11,7 @@
//!
//! ```
//! use kxio::print::{Print, StandardPrint};
+//! use kxio::{kxeprintln, kxprintln};
//!
//! fn print_hello(printer: &impl Print) {
//! printer.println("Hello, World!");
@@ -18,6 +19,8 @@
//!
//! let printer = StandardPrint;
//! print_hello(&printer);
+//! kxprintln!(&printer, "Hello, world!");
+//! kxeprintln!(&printer, "Terminating!");
//! ```
mod macros;