separating into just typeahead widget