Add transaction testing
Cleanup setup.py