A lot of the initial gui work added