added more complete documentation using sphinx-apigen