Major reworking. It should be much better. Now requires yad for the GUI.