diff --git a/substrate/.gitlab-ci.yml b/substrate/.gitlab-ci.yml
index 5e406b36c5c5b95399b307860ee5757626be7090..210bb447e4c7be529abf2782df52e78314147269 100644
--- a/substrate/.gitlab-ci.yml
+++ b/substrate/.gitlab-ci.yml
@@ -41,7 +41,7 @@ variables:                         &default-vars
   CI_IMAGE:                        "paritytech/ci-linux:production"
   # FIXME set to release
   CARGO_UNLEASH_INSTALL_PARAMS:    "--version 1.0.0-alpha.12"
-  CARGO_UNLEASH_PKG_DEF:           "--skip node node-* pallet-template pallet-example pallet-example-* subkey chain-spec-builder"
+  CARGO_UNLEASH_PKG_DEF:           "--skip node node-* pallet-template pallet-example-* subkey chain-spec-builder"
   VAULT_SERVER_URL:                "https://vault.parity-mgmt-vault.parity.io"
   VAULT_AUTH_PATH:                 "gitlab-parity-io-jwt"
   VAULT_AUTH_ROLE:                 "cicd_gitlab_parity_${CI_PROJECT_NAME}"
@@ -482,9 +482,9 @@ test-frame-examples-compile-to-wasm:
     RUSTFLAGS:                     "-Cdebug-assertions=y"
     RUST_BACKTRACE: 1
   script:
-    - cd frame/example-offchain-worker/
+    - cd frame/examples/offchain-worker/
     - cargo +nightly build --target=wasm32-unknown-unknown --no-default-features
-    - cd ../example
+    - cd ../basic
     - cargo +nightly build --target=wasm32-unknown-unknown --no-default-features
     - sccache -s
 
diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock
index 5e940b93f65f29ca14717c309cfe713c7023f2f9..a7bb471f90d8cf90af6a054afc555ceb1a11f3f3 100644
--- a/substrate/Cargo.lock
+++ b/substrate/Cargo.lock
@@ -5515,7 +5515,7 @@ dependencies = [
 ]
 
 [[package]]
-name = "pallet-example"
+name = "pallet-example-basic"
 version = "4.0.0-dev"
 dependencies = [
  "frame-benchmarking",
diff --git a/substrate/Cargo.toml b/substrate/Cargo.toml
index 07053a0ef3162f82ea65c65fda1eb7c4ea382182..ca60af692497de32421145dafefca8d224a47583 100644
--- a/substrate/Cargo.toml
+++ b/substrate/Cargo.toml
@@ -84,9 +84,9 @@ members = [
 	"frame/elections",
 	"frame/election-provider-multi-phase",
 	"frame/election-provider-support",
-	"frame/example",
-	"frame/example-offchain-worker",
-	"frame/example-parallel",
+	"frame/examples/basic",
+	"frame/examples/offchain-worker",
+	"frame/examples/parallel",
 	"frame/executive",
 	"frame/gilt",
 	"frame/grandpa",
diff --git a/substrate/frame/benchmarking/src/lib.rs b/substrate/frame/benchmarking/src/lib.rs
index 258b40cbe6f0b570ef056eaab0ebaa690317de0b..088dbeb0bb78db8727618f0277028a78aefa02b8 100644
--- a/substrate/frame/benchmarking/src/lib.rs
+++ b/substrate/frame/benchmarking/src/lib.rs
@@ -1217,7 +1217,7 @@ macro_rules! impl_benchmark_test {
 
 /// This creates a test suite which runs the module's benchmarks.
 ///
-/// When called in `pallet_example` as
+/// When called in `pallet_example_basic` as
 ///
 /// ```rust,ignore
 /// impl_benchmark_test_suite!(Pallet, crate::tests::new_test_ext(), crate::tests::Test);
@@ -1243,7 +1243,7 @@ macro_rules! impl_benchmark_test {
 /// }
 /// ```
 ///
-/// When called inside the `benchmarks` macro of the `pallet_example` as
+/// When called inside the `benchmarks` macro of the `pallet_example_basic` as
 ///
 /// ```rust,ignore
 /// benchmarks! {
diff --git a/substrate/frame/example/Cargo.toml b/substrate/frame/examples/basic/Cargo.toml
similarity index 78%
rename from substrate/frame/example/Cargo.toml
rename to substrate/frame/examples/basic/Cargo.toml
index 0b3a742de0dd7778edb9eb3f10354cf2b213d891..a4e8ffe3261cd776eb420917c9334e28884a9759 100644
--- a/substrate/frame/example/Cargo.toml
+++ b/substrate/frame/examples/basic/Cargo.toml
@@ -1,5 +1,5 @@
 [package]
-name = "pallet-example"
+name = "pallet-example-basic"
 version = "4.0.0-dev"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2021"
@@ -14,18 +14,19 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
-scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
-frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
-pallet-balances = { version = "4.0.0-dev", default-features = false, path = "../balances" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "4.0.0-dev", default-features = false, path = "../../primitives/std" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../benchmarking", optional = true }
 log = { version = "0.4.14", default-features = false }
+scale-info = { version = "1.0", default-features = false, features = ["derive"] }
+
+frame-benchmarking = { version = "4.0.0-dev", default-features = false, path = "../../benchmarking", optional = true }
+frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" }
+frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" }
+pallet-balances = { version = "4.0.0-dev", default-features = false, path = "../../balances" }
+sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
+sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-std = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/std" }
 
 [dev-dependencies]
-sp-core = { version = "4.0.0-dev", path = "../../primitives/core", default-features = false }
+sp-core = { version = "4.0.0-dev", path = "../../../primitives/core", default-features = false }
 
 [features]
 default = ["std"]
diff --git a/substrate/frame/example/README.md b/substrate/frame/examples/basic/README.md
similarity index 94%
rename from substrate/frame/example/README.md
rename to substrate/frame/examples/basic/README.md
index e06dee78c3f81e34cf6f8ccbab63ff7793055462..358829192f11d3b39d0a55c535a80ab350e48f80 100644
--- a/substrate/frame/example/README.md
+++ b/substrate/frame/examples/basic/README.md
@@ -1,11 +1,13 @@
 <!-- markdown-link-check-disable -->
-# Example Pallet
+# Basic Example Pallet
 
 <!-- Original author of paragraph: @gavofyork -->
 The Example: A simple example of a FRAME pallet demonstrating
 concepts, APIs and structures common to most FRAME runtimes.
 
-Run `cargo doc --package pallet-example --open` to view this pallet's documentation.
+Run `cargo doc --package pallet-example-basic --open` to view this pallet's documentation.
+
+**This pallet serves as an example and is not meant to be used in production.**
 
 ### Documentation Guidelines:
 
@@ -34,7 +36,7 @@ Run `cargo doc --package pallet-example --open` to view this pallet's documentat
 
 ### Documentation Template:<br>
 
-Copy and paste this template from frame/example/src/lib.rs into file
+Copy and paste this template from frame/examples/basic/src/lib.rs into file
 `frame/<INSERT_CUSTOM_PALLET_NAME>/src/lib.rs` of your own custom pallet and complete it.
 <details><p><pre>
 // Add heading with custom pallet name
@@ -46,9 +48,9 @@ Copy and paste this template from frame/example/src/lib.rs into file
 // Include the following links that shows what trait needs to be implemented to use the pallet
 // and the supported dispatchables that are documented in the Call enum.
 
-- \[`<INSERT_CUSTOM_PALLET_NAME>::Config`](https://docs.rs/pallet-example/latest/pallet_example/trait.Config.html)
-- \[`Call`](https://docs.rs/pallet-example/latest/pallet_example/enum.Call.html)
-- \[`Module`](https://docs.rs/pallet-example/latest/pallet_example/struct.Module.html)
+- \[`<INSERT_CUSTOM_PALLET_NAME>::Config`](https://docs.rs/pallet-example-basic/latest/pallet_example_basic/trait.Config.html)
+- \[`Call`](https://docs.rs/pallet-example-basic/latest/pallet_example_basic/enum.Call.html)
+- \[`Module`](https://docs.rs/pallet-example-basic/latest/pallet_example_basic/struct.Module.html)
 
 \## Overview
 
diff --git a/substrate/frame/example/src/benchmarking.rs b/substrate/frame/examples/basic/src/benchmarking.rs
similarity index 93%
rename from substrate/frame/example/src/benchmarking.rs
rename to substrate/frame/examples/basic/src/benchmarking.rs
index e89c646e03f1a2449c0edbaa0e5e307e1d86c0ac..a031b15834d6317b488b8608f370f7d75f647f2f 100644
--- a/substrate/frame/example/src/benchmarking.rs
+++ b/substrate/frame/examples/basic/src/benchmarking.rs
@@ -15,7 +15,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Benchmarking for pallet-example.
+//! Benchmarking for pallet-example-basic.
 
 #![cfg(feature = "runtime-benchmarks")]
 
@@ -23,7 +23,7 @@ use crate::*;
 use frame_benchmarking::{benchmarks, whitelisted_caller};
 use frame_system::RawOrigin;
 
-// To actually run this benchmark on pallet-example, we need to put this pallet into the
+// To actually run this benchmark on pallet-example-basic, we need to put this pallet into the
 //   runtime and compile it with `runtime-benchmarks` feature. The detail procedures are
 //   documented at:
 //   https://docs.substrate.io/v3/runtime/benchmarking#how-to-benchmark
@@ -67,7 +67,7 @@ benchmarks! {
 	}
 
 	// This line generates test cases for benchmarking, and could be run by:
-	//   `cargo test -p pallet-example --all-features`, you will see one line per case:
+	//   `cargo test -p pallet-example-basic --all-features`, you will see one line per case:
 	//   `test benchmarking::bench_sort_vector ... ok`
 	//   `test benchmarking::bench_accumulate_dummy ... ok`
 	//   `test benchmarking::bench_set_dummy_benchmark ... ok` in the result.
diff --git a/substrate/frame/example/src/lib.rs b/substrate/frame/examples/basic/src/lib.rs
similarity index 99%
rename from substrate/frame/example/src/lib.rs
rename to substrate/frame/examples/basic/src/lib.rs
index 981274b1ba739346202dd6a04c6ba55b5cdbf98e..b172acb66d3249de8511ec3ea2dc89dba4c10f82 100644
--- a/substrate/frame/example/src/lib.rs
+++ b/substrate/frame/examples/basic/src/lib.rs
@@ -16,13 +16,15 @@
 // limitations under the License.
 
 //! <!-- markdown-link-check-disable -->
-//! # Example Pallet
+//! # Basic Example Pallet
 //!
 //! <!-- Original author of paragraph: @gavofyork -->
 //! The Example: A simple example of a FRAME pallet demonstrating
 //! concepts, APIs and structures common to most FRAME runtimes.
 //!
-//! Run `cargo doc --package pallet-example --open` to view this pallet's documentation.
+//! Run `cargo doc --package pallet-example-basic --open` to view this pallet's documentation.
+//!
+//! **This pallet serves as an example and is not meant to be used in production.**
 //!
 //! ### Documentation Guidelines:
 //!
@@ -59,7 +61,7 @@
 //!
 //! ### Documentation Template:<br>
 //!
-//! Copy and paste this template from frame/example/src/lib.rs into file
+//! Copy and paste this template from frame/examples/basic/src/lib.rs into file
 //! `frame/<INSERT_CUSTOM_PALLET_NAME>/src/lib.rs` of your own custom pallet and complete it.
 //! <details><p><pre>
 //! // Add heading with custom pallet name
diff --git a/substrate/frame/example/src/tests.rs b/substrate/frame/examples/basic/src/tests.rs
similarity index 92%
rename from substrate/frame/example/src/tests.rs
rename to substrate/frame/examples/basic/src/tests.rs
index 4c2274572db81844902967ca764ab8a8fdd82e90..e069cccf8d800da9ae2c39b5846b5abfc2029d65 100644
--- a/substrate/frame/example/src/tests.rs
+++ b/substrate/frame/examples/basic/src/tests.rs
@@ -15,7 +15,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Tests for pallet-example.
+//! Tests for pallet-example-basic.
 
 use crate::*;
 use frame_support::{
@@ -32,7 +32,7 @@ use sp_runtime::{
 	BuildStorage,
 };
 // Reexport crate as its pallet name for construct_runtime.
-use crate as pallet_example;
+use crate as pallet_example_basic;
 
 type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
 type Block = frame_system::mocking::MockBlock<Test>;
@@ -46,7 +46,7 @@ frame_support::construct_runtime!(
 	{
 		System: frame_system::{Pallet, Call, Config, Storage, Event<T>},
 		Balances: pallet_balances::{Pallet, Call, Storage, Config<T>, Event<T>},
-		Example: pallet_example::{Pallet, Call, Storage, Config<T>, Event<T>},
+		Example: pallet_example_basic::{Pallet, Call, Storage, Config<T>, Event<T>},
 	}
 );
 
@@ -111,7 +111,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities {
 		// We use default for brevity, but you can configure as desired if needed.
 		system: Default::default(),
 		balances: Default::default(),
-		example: pallet_example::GenesisConfig {
+		example: pallet_example_basic::GenesisConfig {
 			dummy: 42,
 			// we configure the map with (key, value) pairs.
 			bar: vec![(1, 2), (2, 3)],
@@ -163,7 +163,7 @@ fn set_dummy_works() {
 #[test]
 fn signed_ext_watch_dummy_works() {
 	new_test_ext().execute_with(|| {
-		let call = pallet_example::Call::set_dummy { new_value: 10 }.into();
+		let call = pallet_example_basic::Call::set_dummy { new_value: 10 }.into();
 		let info = DispatchInfo::default();
 
 		assert_eq!(
@@ -192,14 +192,14 @@ fn counted_map_works() {
 #[test]
 fn weights_work() {
 	// must have a defined weight.
-	let default_call = pallet_example::Call::<Test>::accumulate_dummy { increase_by: 10 };
+	let default_call = pallet_example_basic::Call::<Test>::accumulate_dummy { increase_by: 10 };
 	let info1 = default_call.get_dispatch_info();
 	// aka. `let info = <Call<Test> as GetDispatchInfo>::get_dispatch_info(&default_call);`
 	assert!(info1.weight > 0);
 
 	// `set_dummy` is simpler than `accumulate_dummy`, and the weight
 	//   should be less.
-	let custom_call = pallet_example::Call::<Test>::set_dummy { new_value: 20 };
+	let custom_call = pallet_example_basic::Call::<Test>::set_dummy { new_value: 20 };
 	let info2 = custom_call.get_dispatch_info();
 	assert!(info1.weight > info2.weight);
 }
diff --git a/substrate/frame/example/src/weights.rs b/substrate/frame/examples/basic/src/weights.rs
similarity index 93%
rename from substrate/frame/example/src/weights.rs
rename to substrate/frame/examples/basic/src/weights.rs
index efcfdc6729b53e511a55f8dd200de1eb58fe470a..048f7f5a8b8e5b0228357db45d24a2e994c41e5c 100644
--- a/substrate/frame/example/src/weights.rs
+++ b/substrate/frame/examples/basic/src/weights.rs
@@ -15,7 +15,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for pallet_example
+//! Autogenerated weights for pallet_example_basic
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 3.0.0
 //! DATE: 2021-03-15, STEPS: `[100, ]`, REPEAT: 10, LOW RANGE: `[]`, HIGH RANGE: `[]`
@@ -31,7 +31,7 @@
 // --wasm-execution
 // compiled
 // --pallet
-// pallet_example
+// pallet_example_basic
 // --extrinsic
 // *
 // --steps
@@ -52,14 +52,14 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use sp_std::marker::PhantomData;
 
-/// Weight functions needed for pallet_example.
+/// Weight functions needed for pallet_example_basic.
 pub trait WeightInfo {
 	fn set_dummy_benchmark(b: u32, ) -> Weight;
 	fn accumulate_dummy(b: u32, ) -> Weight;
 	fn sort_vector(x: u32, ) -> Weight;
 }
 
-/// Weights for pallet_example using the Substrate node and recommended hardware.
+/// Weights for pallet_example_basic using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	fn set_dummy_benchmark(b: u32, ) -> Weight {
diff --git a/substrate/frame/example-offchain-worker/Cargo.toml b/substrate/frame/examples/offchain-worker/Cargo.toml
similarity index 82%
rename from substrate/frame/example-offchain-worker/Cargo.toml
rename to substrate/frame/examples/offchain-worker/Cargo.toml
index ffcadca26e11e4079322d45c69a5e2f9aa3c0def..cb505ad42f2540df9b9f2df9f8c74301752c0b24 100644
--- a/substrate/frame/example-offchain-worker/Cargo.toml
+++ b/substrate/frame/examples/offchain-worker/Cargo.toml
@@ -14,16 +14,17 @@ targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
-scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
-frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
-sp-core = { version = "4.0.0-dev", default-features = false, path = "../../primitives/core" }
-sp-keystore = { version = "0.10.0-dev", path = "../../primitives/keystore", optional = true }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "4.0.0-dev", default-features = false, path = "../../primitives/std" }
 lite-json = { version = "0.1", default-features = false }
 log = { version = "0.4.14", default-features = false }
+scale-info = { version = "1.0", default-features = false, features = ["derive"] }
+
+frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" }
+frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" }
+sp-core = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/core" }
+sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
+sp-keystore = { version = "0.10.0-dev", path = "../../../primitives/keystore", optional = true }
+sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-std = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/std" }
 
 [features]
 default = ["std"]
diff --git a/substrate/frame/example-offchain-worker/README.md b/substrate/frame/examples/offchain-worker/README.md
similarity index 87%
rename from substrate/frame/example-offchain-worker/README.md
rename to substrate/frame/examples/offchain-worker/README.md
index 5299027f39250d515d1b72e07b020f02c287c8ef..587431c92c0ed331ffac46e9acc79914f820ac8c 100644
--- a/substrate/frame/example-offchain-worker/README.md
+++ b/substrate/frame/examples/offchain-worker/README.md
@@ -1,5 +1,5 @@
 <!-- markdown-link-check-disable -->
-# Offchain Worker Example Module
+# Offchain Worker Example Pallet
 
 The Offchain Worker Example: A simple pallet demonstrating
 concepts, APIs and structures common to most offchain workers.
@@ -11,6 +11,8 @@ documentation.
 - [`Call`](./enum.Call.html)
 - [`Module`](./struct.Module.html)
 
+**This pallet serves as an example showcasing Substrate off-chain worker and is not meant to be
+used in production.**
 
 ## Overview
 
diff --git a/substrate/frame/example-offchain-worker/src/lib.rs b/substrate/frame/examples/offchain-worker/src/lib.rs
similarity index 99%
rename from substrate/frame/example-offchain-worker/src/lib.rs
rename to substrate/frame/examples/offchain-worker/src/lib.rs
index 9b63ffa663ee28834a688d2793fa0ef8dbca8bed..e5f2e00d9a34408319191549c570e2a8979e1d13 100644
--- a/substrate/frame/example-offchain-worker/src/lib.rs
+++ b/substrate/frame/examples/offchain-worker/src/lib.rs
@@ -28,6 +28,8 @@
 //! - [`Call`]
 //! - [`Pallet`]
 //!
+//! **This pallet serves as an example showcasing Substrate off-chain worker and is not meant to
+//! be used in production.**
 //!
 //! ## Overview
 //!
@@ -40,6 +42,7 @@
 //! Additional logic in OCW is put in place to prevent spamming the network with both signed
 //! and unsigned transactions, and custom `UnsignedValidator` makes sure that there is only
 //! one unsigned transaction floating in the network.
+
 #![cfg_attr(not(feature = "std"), no_std)]
 
 use codec::{Decode, Encode};
diff --git a/substrate/frame/example-offchain-worker/src/tests.rs b/substrate/frame/examples/offchain-worker/src/tests.rs
similarity index 100%
rename from substrate/frame/example-offchain-worker/src/tests.rs
rename to substrate/frame/examples/offchain-worker/src/tests.rs
diff --git a/substrate/frame/example-parallel/Cargo.toml b/substrate/frame/examples/parallel/Cargo.toml
similarity index 84%
rename from substrate/frame/example-parallel/Cargo.toml
rename to substrate/frame/examples/parallel/Cargo.toml
index 169db35e65f1c37a2dc3b20f01032d0e51fd50d3..cf7f46b2322476437c6fec8b4a9e37941f168512 100644
--- a/substrate/frame/example-parallel/Cargo.toml
+++ b/substrate/frame/examples/parallel/Cargo.toml
@@ -14,13 +14,14 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false }
 scale-info = { version = "1.0", default-features = false, features = ["derive"] }
-frame-support = { version = "4.0.0-dev", default-features = false, path = "../support" }
-frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" }
-sp-core = { version = "4.0.0-dev", default-features = false, path = "../../primitives/core" }
-sp-io = { version = "4.0.0-dev", default-features = false, path = "../../primitives/io" }
-sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../primitives/runtime" }
-sp-std = { version = "4.0.0-dev", default-features = false, path = "../../primitives/std" }
-sp-tasks = { version = "4.0.0-dev", default-features = false, path = "../../primitives/tasks" }
+
+frame-support = { version = "4.0.0-dev", default-features = false, path = "../../support" }
+frame-system = { version = "4.0.0-dev", default-features = false, path = "../../system" }
+sp-core = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/core" }
+sp-io = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/io" }
+sp-runtime = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/runtime" }
+sp-std = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/std" }
+sp-tasks = { version = "4.0.0-dev", default-features = false, path = "../../../primitives/tasks" }
 
 [features]
 default = ["std"]
diff --git a/substrate/frame/examples/parallel/README.md b/substrate/frame/examples/parallel/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..44b39a41507db177d78a35eac0cca9b498832bf9
--- /dev/null
+++ b/substrate/frame/examples/parallel/README.md
@@ -0,0 +1,7 @@
+<!-- markdown-link-check-disable -->
+# Parallel Tasks Example Pallet
+
+This example pallet demonstrates parallelizing validation of the enlisted participants (see
+`enlist_participants` dispatch).
+
+**This pallet serves as an example and is not meant to be used in production.**
diff --git a/substrate/frame/example-parallel/src/lib.rs b/substrate/frame/examples/parallel/src/lib.rs
similarity index 95%
rename from substrate/frame/example-parallel/src/lib.rs
rename to substrate/frame/examples/parallel/src/lib.rs
index 9d191525f631e5d0b7f10fc9471860584da05360..51e022bed08b3938ec236fcf2021e39fc747083d 100644
--- a/substrate/frame/example-parallel/src/lib.rs
+++ b/substrate/frame/examples/parallel/src/lib.rs
@@ -15,10 +15,12 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Parallel tasks example
+//! # Parallel Tasks Example Pallet
 //!
-//! This example pallet parallelizes validation of the enlisted participants
+//! This example pallet demonstrates parallelizing validation of the enlisted participants
 //! (see `enlist_participants` dispatch).
+//!
+//! **This pallet serves as an example and is not meant to be used in production.**
 
 #![cfg_attr(not(feature = "std"), no_std)]
 
diff --git a/substrate/frame/example-parallel/src/tests.rs b/substrate/frame/examples/parallel/src/tests.rs
similarity index 100%
rename from substrate/frame/example-parallel/src/tests.rs
rename to substrate/frame/examples/parallel/src/tests.rs