New feature: add generic model Document.