improved GUI generator