More UI work and basic functionality