diff --git a/substrate/primitives/src/ed25519.rs b/substrate/primitives/src/ed25519.rs
index cdbbc194c791f6baa639436260ec6934993266b1..b28e0bde6e2cc4131dabaea5933936133e403f54 100644
--- a/substrate/primitives/src/ed25519.rs
+++ b/substrate/primitives/src/ed25519.rs
@@ -1,3 +1,19 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
 //! Simple Ed25519 API.
 
 use untrusted;
diff --git a/substrate/primitives/src/hashing.rs b/substrate/primitives/src/hashing.rs
index b21e06391eae0a1b3103d0c9653666da1733db13..f82ec7ef8bf784af076318714ddf20097467e760 100644
--- a/substrate/primitives/src/hashing.rs
+++ b/substrate/primitives/src/hashing.rs
@@ -1,3 +1,21 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Hashing functions.
+
 use blake2_rfc;
 use twox_hash;
 
diff --git a/substrate/primitives/src/hexdisplay.rs b/substrate/primitives/src/hexdisplay.rs
index 708d5e05289313895f34fe341b4392488e61bb82..d6299a2e41d1e3d34172e5df9f7939202d58a67c 100644
--- a/substrate/primitives/src/hexdisplay.rs
+++ b/substrate/primitives/src/hexdisplay.rs
@@ -1,6 +1,26 @@
+// Copyright 2017 Parity Technologies (UK) Ltd.
+// This file is part of Polkadot.
+
+// Polkadot is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Polkadot is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+
+//! Wrapper type for byte collections that outputs hex.
+
+/// Simple wrapper to display hex representation of bytes.
 pub struct HexDisplay<'a>(&'a [u8]);
 
 impl<'a> HexDisplay<'a> {
+	/// Create new instance that will display `d` as a hex string when displayed.
 	pub fn from(d: &'a AsBytesRef) -> Self { HexDisplay(d.as_bytes_ref()) }
 }
 
@@ -13,7 +33,9 @@ impl<'a> ::std::fmt::Display for HexDisplay<'a> {
 	}
 }
 
+/// Simple trait to transferm various types to `&[u8]`
 pub trait AsBytesRef {
+	/// Transferm `self` into `&[u8]`.
 	fn as_bytes_ref(&self) -> &[u8];
 }