Lots of backend work. Small improvements to ux