refactors
ignore build artifacts
updates setup.py