create the user interface