autocompletion, snippets and lots of stuff