progress with gui, TODO: fix graphical artifact