imporved GUI