diff --git a/src/constants.rs b/src/constants.rs
index d6c9b72..ae90d18 100644
--- a/src/constants.rs
+++ b/src/constants.rs
@@ -13,7 +13,8 @@
// If not, see .
//
-//! Constants
+//! # Constants
+//! Constants related to the API and the underlying curve
/// The size (in bytes) of a message
pub const MESSAGE_SIZE: usize = 32;
diff --git a/src/ffi.rs b/src/ffi.rs
index aac3fe2..7ed3fe4 100644
--- a/src/ffi.rs
+++ b/src/ffi.rs
@@ -13,7 +13,9 @@
// If not, see .
//
-//! FFI bindings
+//! # FFI bindings
+//! Direct bindings to the underlying C library functions. These should
+//! not be needed for most users.
use std::mem;
use libc::{c_int, c_uchar, c_uint, c_void, size_t};
diff --git a/src/key.rs b/src/key.rs
index c455731..eb2464d 100644
--- a/src/key.rs
+++ b/src/key.rs
@@ -13,7 +13,7 @@
// If not, see .
//
-//! Public/Private keys
+//! # Public and secret keys
use std::intrinsics::copy_nonoverlapping;
use std::marker;
diff --git a/src/lib.rs b/src/lib.rs
index 794a2c7..05853f9 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -182,7 +182,7 @@ impl_array_newtype!(Message, u8, constants::MESSAGE_SIZE);
impl_pretty_debug!(Message);
impl Message {
- /// Converts a `MESSAGE_SIZE`-byte slice to a nonce
+ /// Converts a `MESSAGE_SIZE`-byte slice to a message object
#[inline]
pub fn from_slice(data: &[u8]) -> Result {
match data.len() {