#18 complete search UI