# 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.