Refactoring describe and completion as recursive fashion.