added gui and some more features