added proper Sphinx documentation