working command line interface + smarter setup.py