add missing Document properties and methods
fix return type when constructing a new document
add missing Model properties and methods