added documentation generation