More work on the UI and some backend.