Better docstrings and setup.py