update the user interface