more UI components, and added listeners for the buttons