Add some UI niceties and refactor