Typeahead

I think we can put this on master at this point.