diff --git a/res/metadata.scale b/res/metadata.scale
index 3af1b14cabe3e2c9b3561e0ef21320d47923125d..d7c41820b07a0a2e6198009041d239e70602a2d9 100644
Binary files a/res/metadata.scale and b/res/metadata.scale differ
diff --git a/src/commands/expire.rs b/src/commands/expire.rs
index 7fe25187a0c087789e1c1964c860f42f1ef29ded..5e9fa7213b1c7f615d4ef99edc1491c559de100d 100644
--- a/src/commands/expire.rs
+++ b/src/commands/expire.rs
@@ -81,27 +81,27 @@ pub async fn monitor_expirations(data: &Data, blocks: u32, sessions: u32) -> any
 		}
 	}
 
-	let mut smith_certs_iter = client
+	let mut smiths_certs_iter = client
 		.storage()
 		.iter(
 			runtime::storage()
-				.smith_cert()
+				.smiths_cert()
 				.storage_certs_removable_on(0),
 			10,
 			Some(parent_hash),
 		)
 		.await?;
-	let mut smith_certs = BTreeMap::new();
-	while let Some((k, v)) = smith_certs_iter.next().await? {
+	let mut smiths_certs = BTreeMap::new();
+	while let Some((k, v)) = smiths_certs_iter.next().await? {
 		let block_number = u32::from_le_bytes(k.as_ref()[40..44].try_into().unwrap());
 		if block_number < end_block {
-			smith_certs.insert(block_number - current_block, v);
+			smiths_certs.insert(block_number - current_block, v);
 		}
 	}
 
 	for (title, certs) in [
 		("Certifications", basic_certs),
-		("Smith certifications", smith_certs),
+		("Smith certifications", smiths_certs),
 	] {
 		println!("\n{title}:");
 		for (blocks_left, certs) in certs {
@@ -144,27 +144,27 @@ pub async fn monitor_expirations(data: &Data, blocks: u32, sessions: u32) -> any
 		}
 	}
 
-	let mut smith_membership_iter = client
+	let mut smiths_membership_iter = client
 		.storage()
 		.iter(
 			runtime::storage()
-				.smith_membership()
+				.smiths_membership()
 				.memberships_expire_on(0),
 			10,
 			Some(parent_hash),
 		)
 		.await?;
-	let mut smith_memberships = BTreeMap::new();
-	while let Some((k, v)) = smith_membership_iter.next().await? {
+	let mut smiths_memberships = BTreeMap::new();
+	while let Some((k, v)) = smiths_membership_iter.next().await? {
 		let block_number = u32::from_le_bytes(k.as_ref()[40..44].try_into().unwrap());
 		if block_number < end_block {
-			smith_memberships.insert(block_number - current_block, v);
+			smiths_memberships.insert(block_number - current_block, v);
 		}
 	}
 
 	for (title, memberships) in [
 		("Memberships", basic_memberships),
-		("Smith memberships", smith_memberships),
+		("Smith memberships", smiths_memberships),
 	] {
 		println!("\n{title}:");
 		for (blocks_left, membership) in memberships {
diff --git a/src/commands/smith.rs b/src/commands/smith.rs
index 01525bbe3c176668c5b9d7bd536f16adf92db2a8..580a710517dde90b78a623002a21cc3dfe4b84f8 100644
--- a/src/commands/smith.rs
+++ b/src/commands/smith.rs
@@ -4,7 +4,7 @@ use std::ops::Deref;
 
 type SessionKeys = [u8; 128];
 #[cfg(feature = "gdev")]
-type SmithMembershipMetaData = runtime::runtime_types::common_runtime::entities::SmithMembershipMetaData::<SessionKeys>;
+type SmithMembershipMetaData = runtime::runtime_types::common_runtime::entities::SmithsMembershipMetaData::<SessionKeys>;
 
 /// define smith subcommands
 #[derive(Clone, Default, Debug, clap::Parser)]
@@ -41,7 +41,7 @@ pub async fn handle_command(data: Data, command: Subcommand) -> anyhow::Result<(
 	match command {
 		Subcommand::Request { endpoint } => {
 			data = data.build_keypair();
-			dbg!(request_smith_membership(&data, endpoint).await)?;
+			dbg!(request_smiths_membership(&data, endpoint).await)?;
 		}
 		Subcommand::GoOnline => {
 			go_online(&data).await?;
@@ -86,7 +86,7 @@ pub async fn rotate_keys(client: &Client) -> Result<SessionKeys, anyhow::Error>
 }
 
 /// request smith membership
-pub async fn request_smith_membership(data: &Data, endpoint: String) -> Result<(), anyhow::Error> {
+pub async fn request_smiths_membership(data: &Data, endpoint: String) -> Result<(), anyhow::Error> {
 	let session_keys = rotate_keys(data.client()).await?;
 	let metadata =
 		SmithMembershipMetaData {
@@ -99,14 +99,14 @@ pub async fn request_smith_membership(data: &Data, endpoint: String) -> Result<(
 		.tx()
 		.sign_and_submit_then_watch(
 			&runtime::tx()
-				.smith_membership()
+				.smiths_membership()
 				.request_membership(metadata),
 			&PairSigner::new(data.keypair()),
 			BaseExtrinsicParamsBuilder::new(),
 		)
 		.await?;
 	let events = track_progress(progress).await?;
-	let request = events.find_first::<runtime::smith_membership::events::MembershipRequested>()?;
+	let request = events.find_first::<runtime::smiths_membership::events::MembershipRequested>()?;
 	if let Some(event) = request {
 		println!("{event:?}");
 	}
@@ -280,7 +280,7 @@ pub async fn cert(data: &Data, receiver: u32) -> Result<(), anyhow::Error> {
 		.tx()
 		.sign_and_submit_then_watch(
 			&runtime::tx()
-				.smith_cert()
+				.smiths_cert()
 				.add_cert(data.idty_index(), receiver),
 			&PairSigner::new(data.keypair()),
 			BaseExtrinsicParamsBuilder::new(),
@@ -290,8 +290,8 @@ pub async fn cert(data: &Data, receiver: u32) -> Result<(), anyhow::Error> {
 	let events = track_progress(progress).await?;
 
 	// look for the expected event
-	let new_cert_event = events.find_first::<runtime::smith_cert::events::NewCert>()?;
-	let renew_cert_event = events.find_first::<runtime::smith_cert::events::RenewedCert>()?;
+	let new_cert_event = events.find_first::<runtime::smiths_cert::events::NewCert>()?;
+	let renew_cert_event = events.find_first::<runtime::smiths_cert::events::RenewedCert>()?;
 
 	if let Some(event) = new_cert_event {
 		println!("{event:?}");
diff --git a/src/commands/transfer.rs b/src/commands/transfer.rs
index ca6ab53aa1f9ac22c452677c144d9773a0f9b606..c7d2ba6e6fdeb046e79ee13a29fd5d88ea7318bc 100644
--- a/src/commands/transfer.rs
+++ b/src/commands/transfer.rs
@@ -1,7 +1,7 @@
 use crate::*;
 
 #[cfg(any(feature = "dev", feature = "gdev"))] // find how to get runtime calls
-type Call = runtime::runtime_types::gdev_runtime::RuntimeCall;
+type Call = runtime::runtime_types::gdev_runtime::Call;
 type BalancesCall = runtime::runtime_types::pallet_balances::pallet::Call;
 
 /// transfer balance to target