no subclassing for setting, since cannot subclass all type at once, create gui module