# Dev Update Week 7
This week’s marked a significant step forward for me in implementing the proposer-builder separation feature. I focused on establishing the foundational constants and configurations for the epbs feature on Nimbus:
1. **Constants and Presets:**
- **Payload Status:**
- `PAYLOAD_ABSENT` set to `uint8(0)`
- `PAYLOAD_PRESENT` set to `uint8(1)`
- `PAYLOAD_WITHHELD` set to `uint8(2)`
- `PAYLOAD_INVALID_STATUS` set to `uint8(3)`
- **Preset Miscellaneous:**
- `PTC_SIZE` defined as `uint64(2**9)` (512), introduced as part of EIP-XXXX.
- **Domain Types:**
- `DOMAIN_BEACON_BUILDER` assigned the value `DomainType('0x1B000000')`.
- `DOMAIN_PTC_ATTESTER` assigned the value `DomainType('0x0C000000')`.
- **Max Operations per Block:**
- `MAX_PAYLOAD_ATTESTATIONS` set to `2**2` (4).
**Next Steps:**
1. **Implementation:**
- Begin incorporating these constants into the codebase.
2. **Container Updates:**
- **Add New Containers**: Implement new containers including `PayloadAttestationData`, `PayloadAttestation`, `PayloadAttestationMessage`, `IndexedPayloadAttestation`, `SignedExecutionPayloadHeader`, `ExecutionPayloadEnvelope`, and `SignedExecutionPayloadEnvelope`.
- **Modify Containers**: Update `BeaconBlockBody` to include `SignedExecutionPayloadHeader` and `payload_attestations`. Modify `ExecutionPayloadHeader` to focus on block hash and builder’s payment information, while tracking `blob_kzg_commitments_root`.
3. **Beacon State and Functions:**
- **BeaconState Modifications**: Update `BeaconState` to track the last honored withdrawals and latest execution payload header. Add fields for tracking the last committed block hash and the last full slot.
- **Helper Functions**: Implement various helper functions including `is_valid_indexed_payload_attestation`, `is_parent_block_full`, and modifications to `get_attesting_indices` and `get_payload_attesting_indices`.
I will be pushing all updates to this [branch](https://github.com/status-im/nimbus-eth2/pull/6443)
---