Design change: better structure for creating a gui