# Week-6 & 7 Update In the past two weeks , i dived into the grandine's codebase and started implementing the containers and the Presets required for focil and there ssz codec. ```rust! use crate::{ bellatrix::primitives::Transaction, phase0::primitives::{Slot, ValidatorIndex, H256}, preset::Preset, }; use bls::SignatureBytes; use serde::{Deserialize, Serialize}; use ssz::{ContiguousList, Ssz}; pub type InclusionListTransactions<P> = ContiguousList<Transaction<P>, <P as Preset>::MaxInclusionListTransactions>; #[derive(Clone, PartialEq, Eq, Default, Debug, Deserialize, Serialize, Ssz)] #[serde(bound = "", deny_unknown_fields)] pub struct InclusionList<P: Preset> { #[serde(with = "serde_utils::string_or_native")] pub slot: Slot, #[serde(with = "serde_utils::string_or_native")] pub validator_index: ValidatorIndex, pub inclusion_list_committee_root: H256, pub transactions: InclusionListTransactions<P>, } #[derive(Clone, PartialEq, Eq, Default, Debug, Deserialize, Serialize, Ssz)] #[serde(bound = "", deny_unknown_fields)] pub struct SignedInclusionList<P: Preset> { pub message: InclusionList<P>, pub signature: SignatureBytes, } ``` Here is the link to the [PR](https://github.com/grandinetech/grandine/pull/287). From next week, I'll focous on implementing the p2p topics for focil.