splitting the gui into its own file