improved ui, styling, keypress handlers