add interactivity to gui. refactor to use barewords