separate gui and util modules.