added StringCompleter