# EPF Cohort 6 - Week 2 Update
As I delve further into building the validator client for Ream, I wanted to scope out the remaining issues required to build a minimum viable validator client that could be run on a devnet or testnet. Me and another fellow ([Mark](https://github.com/Patchoulis)), who is collaborating with me on the project, discussed the features we would like to support in our validator and got started on building the proposal for our project.
## Week 2
This week I focused on implementing the timing of block proposal and attestations as per the [validator flow](https://ethereum.github.io/beacon-APIs/validator-flow.md).
> 2. Wait for new BeaconBlock for the assigned slot (either stream updates or poll)
- Max wait: `SECONDS_PER_SLOT / 3` seconds into the assigned slot
The validator flow requires us to wait for a new valid BeaconBlock or for 1/3rd of the slot to make an attestation. I worked on implementing this and will be making a PR shortly.
I also worked on further adding the voluntary exit CLI command into the Validator CLI. This command, `ream validator exit`, allows a validator to start the process of the voluntary exit. As it takes a minimum of 5 epochs after initiating a voluntary exit for a validator to exit, it first initiates an exit using the Beacon API client and then polls for validator status till it has exited to confirm it's exit.
I also worked on the proposal with Mark, where we scoped out everything required to build a mainnet-ready validator and additional features we would like to implement.
## Resources
- [Validator Flow](https://ethereum.github.io/beacon-APIs/validator-flow.md)
- [Voluntary Exits](https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet/part-iii-tips/voluntary-exiting-a-validator)