develop the document module