UI and functionality overhaul