Refactors structure and code, aswell as adds UI for selecting layout

Adds initial UI for selecting and refactors some of the structure.