Reformat
Start splitting functions used blockwise
Passing blocks directly
Continuing block code.

Switching to GUI layer to aid testing