added support for tab completion