add documentation and tests using autodoc