Add setup.py
Improve docstrings and project structure
Add basic documentation