Major UI overhaul. Still needs testing/fixes.