added gui -- untested