diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock
index 919454982a520a95f11a8ceaaa1c6b647eb6db70..41c2d747f57848dbf15c83003b21e9799932f345 100644
--- a/substrate/Cargo.lock
+++ b/substrate/Cargo.lock
@@ -1003,10 +1003,10 @@ dependencies = [
  "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "native-runtime 0.1.0",
  "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "polkadot-serializer 0.1.0",
  "substrate-codec 0.1.0",
  "substrate-executor 0.1.0",
  "substrate-primitives 0.1.0",
+ "substrate-serializer 0.1.0",
  "substrate-state-machine 0.1.0",
  "triehash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -1033,7 +1033,6 @@ dependencies = [
  "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "polkadot-client 0.1.0",
- "polkadot-serializer 0.1.0",
  "rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
  "semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1041,6 +1040,7 @@ dependencies = [
  "serde_json 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "smallvec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "substrate-primitives 0.1.0",
+ "substrate-serializer 0.1.0",
  "substrate-state-machine 0.1.0",
 ]
 
@@ -1082,22 +1082,14 @@ dependencies = [
  "triehash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
-[[package]]
-name = "polkadot-serializer"
-version = "0.1.0"
-dependencies = [
- "serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
 [[package]]
 name = "polkadot-validator"
 version = "0.1.0"
 dependencies = [
  "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "polkadot-serializer 0.1.0",
  "serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
  "substrate-primitives 0.1.0",
+ "substrate-serializer 0.1.0",
 ]
 
 [[package]]
@@ -1434,12 +1426,12 @@ dependencies = [
  "native-runtime 0.1.0",
  "parity-wasm 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "polkadot-runtime-std 0.1.0",
- "polkadot-serializer 0.1.0",
  "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_derive 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
  "substrate-codec 0.1.0",
  "substrate-primitives 0.1.0",
+ "substrate-serializer 0.1.0",
  "substrate-state-machine 0.1.0",
  "triehash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -1452,16 +1444,24 @@ dependencies = [
  "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "fixed-hash 0.1.3 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)",
- "polkadot-serializer 0.1.0",
  "pretty_assertions 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-hex 2.0.0 (git+https://github.com/rphmeier/rustc-hex.git)",
  "serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_derive 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
  "substrate-codec 0.1.0",
+ "substrate-serializer 0.1.0",
  "twox-hash 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)",
 ]
 
+[[package]]
+name = "substrate-serializer"
+version = "0.1.0"
+dependencies = [
+ "serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_json 1.0.9 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
 [[package]]
 name = "substrate-state-machine"
 version = "0.1.0"
diff --git a/substrate/client/Cargo.toml b/substrate/client/Cargo.toml
index 0901b92b73ceffc6f5bdc9aec34815e535f9754c..123952553095c2c941270e50620600cf36c639db 100644
--- a/substrate/client/Cargo.toml
+++ b/substrate/client/Cargo.toml
@@ -9,7 +9,7 @@ log = "0.3"
 parking_lot = "0.4"
 substrate-primitives = { path = "../primitives", version = "0.1" }
 substrate-state-machine = { path = "../state-machine", version = "0.1" }
-polkadot-serializer = { path = "../serializer" }
+substrate-serializer = { path = "../serializer" }
 substrate-executor = { path = "../executor" }
 substrate-codec = { path = "../codec", version = "0.1" }
 native-runtime = { path = "../native-runtime" }
diff --git a/substrate/client/src/lib.rs b/substrate/client/src/lib.rs
index d38cda69457a79708bbc3e7a00b91b27ffccf9ee..44c2aaa2bf38010da3f0f780ba2200e04bddc72e 100644
--- a/substrate/client/src/lib.rs
+++ b/substrate/client/src/lib.rs
@@ -20,7 +20,7 @@
 
 extern crate substrate_primitives as primitives;
 extern crate substrate_state_machine as state_machine;
-extern crate polkadot_serializer as ser;
+extern crate substrate_serializer as ser;
 extern crate substrate_codec as codec;
 extern crate substrate_executor;
 extern crate native_runtime;
diff --git a/substrate/executor/Cargo.toml b/substrate/executor/Cargo.toml
index 081ade6b0f7587ffdee9e3ddaa9f50f495a93fb8..4852f173edd500234904ec7c24f5f317bdcbe142 100644
--- a/substrate/executor/Cargo.toml
+++ b/substrate/executor/Cargo.toml
@@ -5,13 +5,13 @@ authors = ["Parity Technologies <admin@parity.io>"]
 
 [dependencies]
 error-chain = "0.11"
-substrate-codec = { path = "../codec", version = "0.1" }
-polkadot-runtime-std = { path = "../runtime-std", version = "0.1" }
-substrate-primitives = { path = "../primitives", version = "0.1" }
-polkadot-serializer = { path = "../serializer", version = "0.1" }
-substrate-state-machine = { path = "../state-machine" , version = "0.1" }
-native-runtime = { path = "../native-runtime", version = "0.1" }
-ed25519 = { path = "../ed25519", version = "0.1" }
+substrate-codec = { path = "../codec" }
+polkadot-runtime-std = { path = "../runtime-std" }
+substrate-primitives = { path = "../primitives" }
+substrate-serializer = { path = "../serializer" }
+substrate-state-machine = { path = "../state-machine"  }
+native-runtime = { path = "../native-runtime" }
+ed25519 = { path = "../ed25519" }
 serde = "1.0"
 serde_derive = "1.0"
 parity-wasm = "0.15.0"
diff --git a/substrate/executor/src/lib.rs b/substrate/executor/src/lib.rs
index 9d5a012c3496bc328972b01cce1bf8bffac56567..6b2858dd31dfded828d50c77352b1b436ccd62d1 100644
--- a/substrate/executor/src/lib.rs
+++ b/substrate/executor/src/lib.rs
@@ -30,7 +30,7 @@
 extern crate substrate_codec as codec;
 extern crate polkadot_runtime_std as runtime_std;
 extern crate substrate_primitives as primitives;
-extern crate polkadot_serializer as serializer;
+extern crate substrate_serializer as serializer;
 extern crate substrate_state_machine as state_machine;
 extern crate ed25519;
 
diff --git a/substrate/network/Cargo.toml b/substrate/network/Cargo.toml
index e2e901a0dfd42e8dc6320eb9e757f296fc01e855..6591ebf9195a030401b7994e6d6bf5d4b4e95682 100644
--- a/substrate/network/Cargo.toml
+++ b/substrate/network/Cargo.toml
@@ -13,7 +13,7 @@ ethcore-io = { git = "https://github.com/paritytech/parity.git" }
 substrate-primitives = { path = "../primitives" }
 polkadot-client = { path = "../client" }
 substrate-state-machine = { path = "../state-machine" }
-polkadot-serializer = { path = "../serializer" }
+substrate-serializer = { path = "../serializer" }
 log = "0.3"
 env_logger = "0.4"
 rand = "0.3"
diff --git a/substrate/network/src/lib.rs b/substrate/network/src/lib.rs
index 059ba93221523d62a06c42b76512d6725f418011..f1bd64d63fd4a30f86b1cf27555475e83139bbfc 100644
--- a/substrate/network/src/lib.rs
+++ b/substrate/network/src/lib.rs
@@ -30,7 +30,7 @@ extern crate ipnetwork;
 extern crate substrate_primitives as primitives;
 extern crate polkadot_client as client;
 extern crate substrate_state_machine as state_machine;
-extern crate polkadot_serializer as ser;
+extern crate substrate_serializer as ser;
 extern crate serde;
 extern crate serde_json;
 #[macro_use] extern crate serde_derive;
diff --git a/substrate/primitives/Cargo.toml b/substrate/primitives/Cargo.toml
index 4339977804451f9d2a4acbd14d95385852439e48..558989c76ac260717234dabe353bb915b3710484 100644
--- a/substrate/primitives/Cargo.toml
+++ b/substrate/primitives/Cargo.toml
@@ -13,10 +13,10 @@ uint = { git = "https://github.com/rphmeier/primitives.git", branch = "compile-f
 twox-hash = { version = "1.1.0", optional = true }
 byteorder = { version = "1.1", default_features = false }
 blake2-rfc = { version = "0.2.18", optional = true }
-substrate-codec = { path = "../codec", version = "0.1", default_features = false }
+substrate-codec = { path = "../codec", default_features = false }
 
 [dev-dependencies]
-polkadot-serializer = { path = "../serializer", version = "0.1" }
+substrate-serializer = { path = "../serializer" }
 pretty_assertions = "0.4"
 
 [features]
diff --git a/substrate/primitives/src/hash.rs b/substrate/primitives/src/hash.rs
index 8e7c6f2b8f3a918ea1f1f56af5a69ec0a5fa5d72..788641ed04c2c377da644460889170b0b68708db 100644
--- a/substrate/primitives/src/hash.rs
+++ b/substrate/primitives/src/hash.rs
@@ -57,7 +57,7 @@ impl_serde!(H512, 64);
 #[cfg(test)]
 mod tests {
 	use super::*;
-	use polkadot_serializer as ser;
+	use substrate_serializer as ser;
 
 	#[test]
 	fn test_h160() {
diff --git a/substrate/primitives/src/lib.rs b/substrate/primitives/src/lib.rs
index ee95d7ca9a169acaa2bc2db1cf8e213d051e61df..bbeaa4003600a598c123133f904d8e41c6167bd4 100644
--- a/substrate/primitives/src/lib.rs
+++ b/substrate/primitives/src/lib.rs
@@ -45,7 +45,7 @@ extern crate uint as uint_crate;
 extern crate core;
 extern crate substrate_codec as codec;
 #[cfg(test)]
-extern crate polkadot_serializer;
+extern crate substrate_serializer;
 #[cfg(test)]
 #[macro_use]
 extern crate pretty_assertions;
diff --git a/substrate/primitives/src/parachain.rs b/substrate/primitives/src/parachain.rs
index f7dac2fec0c553406a958f4e3640848a1cadab10..710b0441622c69ad04471af2b45ba8ea1ddadc81 100644
--- a/substrate/primitives/src/parachain.rs
+++ b/substrate/primitives/src/parachain.rs
@@ -136,7 +136,7 @@ impl ::codec::Slicable for Activity {
 #[cfg(test)]
 mod tests {
 	use super::*;
-	use polkadot_serializer as ser;
+	use substrate_serializer as ser;
 
 	#[test]
 	fn test_candidate() {
diff --git a/substrate/primitives/src/relay/block.rs b/substrate/primitives/src/relay/block.rs
index e488d3c1f005f0d053adca4a61605babe82d69a1..16810bf8a006a1566c95ca7ca50f0844e5651ced 100644
--- a/substrate/primitives/src/relay/block.rs
+++ b/substrate/primitives/src/relay/block.rs
@@ -178,7 +178,7 @@ pub struct Body {
 mod tests {
 	use super::*;
 	use codec::Slicable;
-	use polkadot_serializer as ser;
+	use substrate_serializer as ser;
 
 	#[test]
 	fn test_header_serialization() {
diff --git a/substrate/primitives/src/uint.rs b/substrate/primitives/src/uint.rs
index cecf69dd2a9a7fa7f37ae8baa685033745fa65ad..724779a269458ce5ea0cd278623b9df2ca40deed 100644
--- a/substrate/primitives/src/uint.rs
+++ b/substrate/primitives/src/uint.rs
@@ -47,7 +47,7 @@ impl_serde!(U512, 8);
 #[cfg(test)]
 mod tests {
 	use super::*;
-	use polkadot_serializer as ser;
+	use substrate_serializer as ser;
 
 	macro_rules! test {
 		($name: ident, $test_name: ident) => {
diff --git a/substrate/primitives/src/validator.rs b/substrate/primitives/src/validator.rs
index e6cba21e73b66d1223476d074579982abca718b8..acf78f9f3c2d79c2dddadd3daa150beda01313eb 100644
--- a/substrate/primitives/src/validator.rs
+++ b/substrate/primitives/src/validator.rs
@@ -53,7 +53,7 @@ pub struct ValidationResult {
 #[cfg(test)]
 mod tests {
 	use super::*;
-	use polkadot_serializer as ser;
+	use substrate_serializer as ser;
 
 	#[test]
 	fn test_validation_result() {
diff --git a/substrate/serializer/Cargo.toml b/substrate/serializer/Cargo.toml
index 259f43016dea618b43263a19166f6bf4dd1dbd8b..412586599e6ce2e1a7e3c37e9411f1b157875881 100644
--- a/substrate/serializer/Cargo.toml
+++ b/substrate/serializer/Cargo.toml
@@ -1,5 +1,5 @@
 [package]
-name = "polkadot-serializer"
+name = "substrate-serializer"
 version = "0.1.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 
diff --git a/substrate/serializer/src/lib.rs b/substrate/serializer/src/lib.rs
index 9660f95f711c928d8208f1adf8343fcf9dff7782..9bdda4d019f2974d2ab227df63d1b559e2b632a6 100644
--- a/substrate/serializer/src/lib.rs
+++ b/substrate/serializer/src/lib.rs
@@ -1,20 +1,20 @@
 // Copyright 2017 Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
+// This file is part of Substrate.
 
-// Polkadot is free software: you can redistribute it and/or modify
+// Substrate 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,
+// Substrate 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/>.
+// along with Substrate.  If not, see <http://www.gnu.org/licenses/>.
 
-//! Polkadot customizable serde serializer.
+//! Substrate customizable serde serializer.
 //!
 //! The idea is that we can later change the implementation
 //! to something more compact, but for now we're using JSON.
@@ -42,4 +42,3 @@ pub fn to_vec<T: serde::Serialize + ?Sized>(value: &T) -> Vec<u8> {
 pub fn to_writer<W: ::std::io::Write, T: serde::Serialize + ?Sized>(writer: W, value: &T) -> Result<()> {
 	serde_json::to_writer(writer, value)
 }
-
diff --git a/substrate/validator/Cargo.toml b/substrate/validator/Cargo.toml
index ca69e1a98f463d7c2062cfe490d043d8d9fe9982..64bb00118a2ea72e1dce9b1ecdeb15c104be98e3 100644
--- a/substrate/validator/Cargo.toml
+++ b/substrate/validator/Cargo.toml
@@ -5,6 +5,6 @@ authors = ["Parity Technologies <admin@parity.io>"]
 
 [dependencies]
 error-chain = "0.11"
-substrate-primitives = { path = "../primitives", version = "0.1" }
-polkadot-serializer = { path = "../serializer", version = "0.1" }
+substrate-primitives = { path = "../primitives" }
+substrate-serializer = { path = "../serializer" }
 serde = "1.0"
diff --git a/substrate/validator/src/lib.rs b/substrate/validator/src/lib.rs
index 778db0155bd4ce5c6d18e2efa31a4774c682aee8..44192f932791f19e65a86411e87885cb3d436f6c 100644
--- a/substrate/validator/src/lib.rs
+++ b/substrate/validator/src/lib.rs
@@ -19,7 +19,7 @@
 #[warn(missing_docs)]
 
 extern crate substrate_primitives as primitives;
-extern crate polkadot_serializer as serializer;
+extern crate substrate_serializer as serializer;
 extern crate serde;
 
 #[macro_use]
diff --git a/substrate/wasm-runtime/Cargo.lock b/substrate/wasm-runtime/Cargo.lock
index a5ce44c4339f6ab5f94ef1765358ecd9f0a75bbc..96a286f124a303251ad13f29376e673971ecccbc 100644
--- a/substrate/wasm-runtime/Cargo.lock
+++ b/substrate/wasm-runtime/Cargo.lock
@@ -381,25 +381,12 @@ version = "0.1.0"
 dependencies = [
  "ed25519 0.1.0",
  "environmental 0.1.0",
- "substrate-state-machine 0.1.0",
  "pwasm-alloc 0.1.0",
  "pwasm-libc 0.1.0",
  "rustc_version 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "substrate-codec 0.1.0",
  "substrate-primitives 0.1.0",
- "triehash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "substrate-state-machine"
-version = "0.1.0"
-dependencies = [
- "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "hashdb 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex-literal 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "memorydb 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "patricia-trie 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "substrate-primitives 0.1.0",
+ "substrate-state-machine 0.1.0",
  "triehash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -633,6 +620,19 @@ dependencies = [
  "uint 0.1.2 (git+https://github.com/rphmeier/primitives.git?branch=compile-for-wasm)",
 ]
 
+[[package]]
+name = "substrate-state-machine"
+version = "0.1.0"
+dependencies = [
+ "byteorder 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "hashdb 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "hex-literal 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "memorydb 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "patricia-trie 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "substrate-primitives 0.1.0",
+ "triehash 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
 [[package]]
 name = "syn"
 version = "0.11.11"
diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm
index d35a213f5219817ceb8ed799f29c5b1626bc8dff..8772bd974e05f427cdeea76cb9c54504ca9f8dfc 100644
Binary files a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm and b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm differ
diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm
index dbb6b884bc31792e64be39eeefe4c924e99b06a2..07e49ec59d94f646bcb4f5b524e29490a96fe876 100644
Binary files a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm and b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm differ