updated gui and functionality