automatically updates the GUI without user input