Initial block design.
Pseudocode mostly done