diff --git a/prdoc/1.9.0/pr_1378.prdoc b/prdoc/1.9.0/pr_1378.prdoc
index 6533dcb663030718fdcd3ffc353b2ae8b2a92407..03427cdba99d9a79d2feec7e28f7ec391ad63c4e 100644
--- a/prdoc/1.9.0/pr_1378.prdoc
+++ b/prdoc/1.9.0/pr_1378.prdoc
@@ -10,7 +10,7 @@ doc:
       3. `#[runtime::pallet_index]` must be attached to a pallet to define its index
       4. `#[runtime::disable_call]` can be optionally attached to a pallet to disable its calls
       5. `#[runtime::disable_unsigned]` can be optionally attached to a pallet to disable unsigned calls
-      6. A pallet instance can be defined as `TemplateModule: pallet_template<Instance>`
+      6. A pallet instance can be defined as `Template: pallet_template<Instance>`
       An optional attribute can be defined as `#[frame_support::runtime(legacy_ordering)]` to ensure that 
       the order of hooks is same as the order of pallets (and not based on the pallet_index). This is to support 
       legacy runtimes and should be avoided for new ones.
diff --git a/templates/parachain/pallets/template/src/mock.rs b/templates/parachain/pallets/template/src/mock.rs
index 46e3117596f599ca923425dd72be7c01421b4ffa..b8c730b6eb5d68634b43838a360a67e1fab298e2 100644
--- a/templates/parachain/pallets/template/src/mock.rs
+++ b/templates/parachain/pallets/template/src/mock.rs
@@ -22,7 +22,7 @@ mod test_runtime {
 	#[runtime::pallet_index(0)]
 	pub type System = frame_system;
 	#[runtime::pallet_index(1)]
-	pub type TemplateModule = crate;
+	pub type Template = crate;
 }
 
 #[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
diff --git a/templates/parachain/pallets/template/src/tests.rs b/templates/parachain/pallets/template/src/tests.rs
index a4a41af63c2e9df1d438e22f13da3ea01fcf7a7b..2f641ce08fbb032aa1722a29712c1c862eaa0858 100644
--- a/templates/parachain/pallets/template/src/tests.rs
+++ b/templates/parachain/pallets/template/src/tests.rs
@@ -5,7 +5,7 @@ use frame_support::{assert_noop, assert_ok};
 fn it_works_for_default_value() {
 	new_test_ext().execute_with(|| {
 		// Dispatch a signed extrinsic.
-		assert_ok!(TemplateModule::do_something(RuntimeOrigin::signed(1), 42));
+		assert_ok!(Template::do_something(RuntimeOrigin::signed(1), 42));
 		// Read pallet storage and assert an expected result.
 		assert_eq!(Something::<Test>::get().map(|v| v.block_number), Some(42));
 	});
@@ -15,9 +15,6 @@ fn it_works_for_default_value() {
 fn correct_error_for_none_value() {
 	new_test_ext().execute_with(|| {
 		// Ensure the expected error is thrown when no value is present.
-		assert_noop!(
-			TemplateModule::cause_error(RuntimeOrigin::signed(1)),
-			Error::<Test>::NoneValue
-		);
+		assert_noop!(Template::cause_error(RuntimeOrigin::signed(1)), Error::<Test>::NoneValue);
 	});
 }
diff --git a/templates/parachain/pallets/template/src/weights.rs b/templates/parachain/pallets/template/src/weights.rs
index 5bfe28e8b71e36d7ee06127b3c1f769617e96494..4b4522429c6ceab1d027194e3f85e070ead595c6 100644
--- a/templates/parachain/pallets/template/src/weights.rs
+++ b/templates/parachain/pallets/template/src/weights.rs
@@ -41,8 +41,8 @@ pub trait WeightInfo {
 /// Weights for pallet_template using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: TemplateModule Something (r:0 w:1)
-	/// Proof: TemplateModule Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Template Something (r:0 w:1)
+	/// Proof: Template Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn do_something() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
@@ -51,8 +51,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		Weight::from_parts(9_000_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: TemplateModule Something (r:1 w:1)
-	/// Proof: TemplateModule Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Template Something (r:1 w:1)
+	/// Proof: Template Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn cause_error() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `32`
@@ -66,8 +66,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 
 // For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: TemplateModule Something (r:0 w:1)
-	/// Proof: TemplateModule Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Template Something (r:0 w:1)
+	/// Proof: Template Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn do_something() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
@@ -76,8 +76,8 @@ impl WeightInfo for () {
 		Weight::from_parts(9_000_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: TemplateModule Something (r:1 w:1)
-	/// Proof: TemplateModule Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Template Something (r:1 w:1)
+	/// Proof: Template Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn cause_error() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `32`
diff --git a/templates/solochain/README.md b/templates/solochain/README.md
index c4ce5c7f3fbb4069f24586a1739735d0ca304dda..7f36a997985d7a527435a79e0b20a46326fb0dc8 100644
--- a/templates/solochain/README.md
+++ b/templates/solochain/README.md
@@ -185,7 +185,7 @@ template and note the following:
   configuration is defined by a code block that begins with `impl
   $PALLET_NAME::Config for Runtime`.
 - The pallets are composed into a single runtime by way of the
-  [`construct_runtime!`](https://paritytech.github.io/substrate/master/frame_support/macro.construct_runtime.html)
+  [#[runtime]](https://paritytech.github.io/polkadot-sdk/master/frame_support/attr.runtime.html)
   macro, which is part of the [core FRAME pallet
   library](https://docs.substrate.io/reference/frame-pallets/#system-pallets).
 
diff --git a/templates/solochain/pallets/template/src/mock.rs b/templates/solochain/pallets/template/src/mock.rs
index 0c2a247e802b35fcccd770bec2e5fa723bf49891..1b86cd9b7709a43bf7abe45893569b53a614f0e3 100644
--- a/templates/solochain/pallets/template/src/mock.rs
+++ b/templates/solochain/pallets/template/src/mock.rs
@@ -4,14 +4,30 @@ use sp_runtime::BuildStorage;
 
 type Block = frame_system::mocking::MockBlock<Test>;
 
-// Configure a mock runtime to test the pallet.
-frame_support::construct_runtime!(
-	pub enum Test
-	{
-		System: frame_system,
-		TemplateModule: pallet_template,
-	}
-);
+#[frame_support::runtime]
+mod runtime {
+	// The main runtime
+	#[runtime::runtime]
+	// Runtime Types to be generated
+	#[runtime::derive(
+		RuntimeCall,
+		RuntimeEvent,
+		RuntimeError,
+		RuntimeOrigin,
+		RuntimeFreezeReason,
+		RuntimeHoldReason,
+		RuntimeSlashReason,
+		RuntimeLockId,
+		RuntimeTask
+	)]
+	pub struct Test;
+
+	#[runtime::pallet_index(0)]
+	pub type System = frame_system::Pallet<Test>;
+
+	#[runtime::pallet_index(1)]
+	pub type Template = pallet_template::Pallet<Test>;
+}
 
 #[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
 impl frame_system::Config for Test {
diff --git a/templates/solochain/pallets/template/src/tests.rs b/templates/solochain/pallets/template/src/tests.rs
index 83e4bea7377b348d8ac1d389813a788f79b81970..d05433c3add6ba1ec6ed194722ffe52b5a8bf19e 100644
--- a/templates/solochain/pallets/template/src/tests.rs
+++ b/templates/solochain/pallets/template/src/tests.rs
@@ -7,7 +7,7 @@ fn it_works_for_default_value() {
 		// Go past genesis block so events get deposited
 		System::set_block_number(1);
 		// Dispatch a signed extrinsic.
-		assert_ok!(TemplateModule::do_something(RuntimeOrigin::signed(1), 42));
+		assert_ok!(Template::do_something(RuntimeOrigin::signed(1), 42));
 		// Read pallet storage and assert an expected result.
 		assert_eq!(Something::<Test>::get(), Some(42));
 		// Assert that the correct event was deposited
@@ -19,9 +19,6 @@ fn it_works_for_default_value() {
 fn correct_error_for_none_value() {
 	new_test_ext().execute_with(|| {
 		// Ensure the expected error is thrown when no value is present.
-		assert_noop!(
-			TemplateModule::cause_error(RuntimeOrigin::signed(1)),
-			Error::<Test>::NoneValue
-		);
+		assert_noop!(Template::cause_error(RuntimeOrigin::signed(1)), Error::<Test>::NoneValue);
 	});
 }
diff --git a/templates/solochain/pallets/template/src/weights.rs b/templates/solochain/pallets/template/src/weights.rs
index 7c42936e09f292de831d28460a3bc39436c3323f..c2879fa503c63580ccbd91c77ffedaa85d9fbf44 100644
--- a/templates/solochain/pallets/template/src/weights.rs
+++ b/templates/solochain/pallets/template/src/weights.rs
@@ -41,8 +41,8 @@ pub trait WeightInfo {
 /// Weights for pallet_template using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: TemplateModule Something (r:0 w:1)
-	/// Proof: TemplateModule Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Template Something (r:0 w:1)
+	/// Proof: Template Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn do_something() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
@@ -51,8 +51,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		Weight::from_parts(9_000_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: TemplateModule Something (r:1 w:1)
-	/// Proof: TemplateModule Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Template Something (r:1 w:1)
+	/// Proof: Template Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn cause_error() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `32`
@@ -66,8 +66,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 
 // For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: TemplateModule Something (r:0 w:1)
-	/// Proof: TemplateModule Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Template Something (r:0 w:1)
+	/// Proof: Template Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn do_something() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
@@ -76,8 +76,8 @@ impl WeightInfo for () {
 		Weight::from_parts(9_000_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: TemplateModule Something (r:1 w:1)
-	/// Proof: TemplateModule Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Template Something (r:1 w:1)
+	/// Proof: Template Something (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn cause_error() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `32`
diff --git a/templates/solochain/runtime/src/benchmarks.rs b/templates/solochain/runtime/src/benchmarks.rs
index a42daf56b58eadfa0c6f5a10de574fc7af60ad1f..f39c2bd295935645703a3e56723b0c4da5695ece 100644
--- a/templates/solochain/runtime/src/benchmarks.rs
+++ b/templates/solochain/runtime/src/benchmarks.rs
@@ -29,5 +29,5 @@ frame_benchmarking::define_benchmarks!(
 	[pallet_balances, Balances]
 	[pallet_timestamp, Timestamp]
 	[pallet_sudo, Sudo]
-	[pallet_template, TemplateModule]
+	[pallet_template, Template]
 );
diff --git a/templates/solochain/runtime/src/lib.rs b/templates/solochain/runtime/src/lib.rs
index ce38c65479e5abc77017e54339f15a2cad529720..279518c8f47ca476690ab7d3400e28b70ca5f92c 100644
--- a/templates/solochain/runtime/src/lib.rs
+++ b/templates/solochain/runtime/src/lib.rs
@@ -220,5 +220,5 @@ mod runtime {
 
 	// Include the custom logic from the pallet-template in the runtime.
 	#[runtime::pallet_index(7)]
-	pub type TemplateModule = pallet_template;
+	pub type Template = pallet_template;
 }