document-list refactoring