Implement new ui features

Actually build some of the stuff I started designing
Sounds good to me. Presumably it's a bit more expressive too