Just the basics ATM, with a general layout

Will be finishing the functionality with the next couple of commits