more work on the ui system