working, adding GUI interface