Updating layout

Updating the layout and also adding in functionality a bit, still long
ways to go though.