smarter auto complete