Reorganized to match PyPI structure and added setup.py for installation