Draft of new abstactions.
Layout main function.
Reverting back.