Typeahead

I'm not sure if 3733ce7 should be merged. I needed it to get things working locally...

a954bf3 should hopefully be cool though. :D