added gui and authentication