better auto completion, and path completer