added gui implementation section