add typeahead function